Category: English

  • Valve: on failure

    Screwing up is a great way to find out that your assumptions were wrong or that your model of the world was a little bit off. As long as you update your model and move forward with a better picture, you’re doing it right. […] There are still some bad ways to fail. Repeating the same mistake over…

  • Software never lies

    «When you run a business, if your software has a bug, your customers don’t care if it is your fault or Linus’ or some random Rails developer’s. They care that your software is bugged. Everyone’s software becomes my software because all of their bugs are my bugs. When something goes wrong, you need to seek…

  • How Linux is built: 2012

    The Linux Foundation has released the Who writes Linux (2012 data) report. Interesting to see how it has been internalized as a marketing tool to show how vibrant is the community. Check it out and compare it to LibreOffice report and ours on FOSS4G desktop.

  • Analysis of free software communities (VI): coda

    This post is part of a series: introduction (I), adoption (II), activity (III), work hours (IV), generations (V), and coda (VI). As you can see in my last posts (Introduction (I), Adoption (II), Activity (III), Work hours (IV) and Generations (V)), I finally managed to translate the paper we presented last year in V jornadas de SIG Libre. It…

  • Analysis of free software communities (V): generations

    This post is part of a series: introduction (I), adoption (II), activity (III), work hours (IV), generations (V), and coda (VI). Data patterns This indicator gives us some sense on how the leadership changed and how the knowledge transfer was done in every project. The paper elaborates a bit more the points of turnover and integration of new blood…

  • Analysis of free software communities (IV): work hours

    This post is part of a series: introduction (I), adoption (II), activity (III), work hours (IV), generations (V), and coda (VI). Data patterns This indicator is intended to give us some information on the patterns of behavior of contributors. Specifically, we can track how is a typical week for the core developers in every project: the timeline shows when the integration happened,…

  • Programming on principle

    If you only watch a keynote this year, make it this one: Bret Victor – Inventing on Principle. The serendipity again: I found this video few days after I finished reading Implementation patterns, by Kent Beck. Both two are connected, in the sense that Bret Victor talks about the importance of values and principles in our life and…

  • Open source vs Open project

    «An open project and its community are the sum of individual people doing what they care about. It’s flat-out wrong to think that any healthy open project is a pool of developers who can be assigned priorities that “make sense” globally. There’s no product manager. The community priorities are simply the union of all community-member…

  • On delivering software

    More than ten years ago, some visionaries got together in the mountains of Utah to relax, ski and discuss on the challenges of their profession. That was the very moment when the Agile movement cristallized. They wrote a manifest and 12 principles. The first gem goes like: Our highest priority is to satisfy the customer through early…

  • LibreOffice stats

    Have you seen the LibreOffice stats shown at FOSDEM? They have got a lot of momentum from its very beginning and seem doing well. I’d like to see the source of that, though, to compare how they build the report with ours.

  • History of science fiction

    A good map to navigate through the themes, authors and styles of the so-called scifi.

  • On meritocracy and self-promotion

    Just as demagogues may subvert democracy, so self-promotion may subvert meritocracy. – Open Source Projects and the meritocracy myth.

  • Institutional memory

    Institutional memory comes in two forms: people and documentation. People remember how things work and why. Sometimes they write it down and store that information somewhere. Institutional amnesia works similarly. People leave and documents disappear, rot, or just become forgotten. – On institutional memory and reverse smuggling.

  • It has to work

    If you’re try­ing to make a suc­cess­ful tech prod­uct, 90% of the bat­tle is that it works at all. – Havoc Pennington, It has to work.

  • Lovelace and Babagge VS The economy!

    Just found this online-ongoing comic by Sidney Padua created to the Ada Lovelace day in 2009. She depicts a steampunk alternative past where Charles Babagge and Ada Lovelace got to build the difference engine … to fight crime!! LOL. Here the chapters. Don’t miss this one: Lovelace and Babagge VS The economy, where they fight against the economic crisis of…

  • Google Wave

    As a programmer, you must have a series of wins, every single day. It is the Deus Ex Machina of hacker success. It is what makes you eager for the next feature, and the next after that. And a large team is poison to small wins. The nature of large teams is such that even…

  • Analysis of free software communities (III): activity

    This post is part of a series: introduction (I), adoption (II), activity (III), work hours (IV), generations (V), and coda (VI). Data patterns Certainly, not the number of features developed or bug fixes. It is even barely possible to compare activity between projects, as there are a high variability in terms of changesets: some people could send several little…

  • 4 big ideas in sw development according to PragProg

    I found interesting this serie of posts titled “4 big ideas in software development” according to Tim Ottinger and Jeff Langr. The serie was published monthly in Pragmatic programmers magazine: Code coupling, or Reducing dependency in your code. Cohesive software design, or Cohesion makes code easier to understand, debug, and test. Abstraction, or How to tell a…

  • Analysis of free software communities (II): adoption

    This post is part of a series: introduction (I), adoption (II), activity (III), work hours (IV), generations (V), and coda (VI). Find below the statistics for mailing list activity in GRASS, gvSIG and QGIS during the period 2008-2010. The first one shows data from the general user mailing lists for each project. Take into account that data for gvSIG…

  • 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…

  • Analysis of free software communities (I): a quantitative study on GRASS, gvSIG and QGIS

    This post is part of a series: introduction (I), adoption (II), activity (III), work hours (IV), generations (V), and coda (VI). When selecting an application, it’s very common to consider technological factors -what the application enable us to do?- and economic ones -how much money do we need? And yet, there is a third factor to take into account,…

  • Wiki update

    Done some reorganization on wiki contents and wrote a bit on refactoring and code smells. I’m proud on the pace and themes the wiki is evolving: I have grown quite a bit of software development topics, which is a reflection on my readings and focus last years. Although could evolve later, the topics on software…

  • Automattic creed

    I will never stop learning. I won’t just work on things that are assigned to me. I know there’s no such thing as a status quo. I will build our business sustainably through passionate and loyal customers. I will never pass up an opportunity to help out a colleague, and I’ll remember the days before…