Tangential Software Usage

September 30, 2008 @ 9:30 | In Internet, Programming | 6 Comments | del.icio.us digg devbump rss
Image for Tangential Software Usage article

As you probably know I am working in a very small (3) team through internet. We do not share a physical place and we have very limited resources. All the infrastructure is based on servers we have at our own home (code repository, wiki, bug tracking service, build machines, web server, backup machines, NAS servers, etc). As you can imagine, we try to optimize our time and bandwidth as much as possible. I want to share with you in this post two examples of this optimizing philosophy with the idea of discussing them and discovering other interesting usages you may be doing (if you want to share of course)

  • Twitter: I like to know where the rest of the team is working on. We have weekly voice meeting, we have emails and IM accounts but that is not enough to know with precision where each part is working on. Twitter, a micro-blogging service you probably know is ideal for this purpose. We have private twitter accounts (nobody out of the team can read it) where we update or current status: developing a new package, fixing a ticket, writing documentation, meeting a client, etc. With a simple look at your twitter account you get the status of the team.
  • Dropbox: I am absolutely impressed with this software. If you don’t know about it I recommend that you have a look at its tutorial. The service is incredibly simple to use and it just works without problems. We have created a dropbox account for internal distribution and testing of our binary releases. Our build machine copy each generated distribution to a shared dropbox folder. This dropbox folder is shared with our team giving us the following advantages:
    • Every member on the team have the binaries everywhere and in all machines we want to test.
    • Logs for each execution are saved in the shared folder and are automatically synchronized in all the accounts. The logs give us useful information about the execution of the software that every developer can inspect.
    • Crashes are stored as minidumps in that same folder. And, as we distribute pdb with our releases, this means that everybody in the team can open any dump from any release and reproduce the exact crashing conditions everywhere. For more information about symbols, read my previous article about Setting up a Symbol Server

Do you have more interesting related ideas? Please, share them with us.




  1. Hola Ent:

    Supongo que no te acuerdas de mi, ya hace mucho de que años por la Euskal ;)

    Supongo que la opción de contratar un servidor dedicado no entra en vuestros planes, por lo tanto, os tendréis que apañar con los servicios gratuitos.

    Quizás con TRAC podáis resolver vuestras necesidades de documentación (wiki), planificación (roadmap/milestone), bugtracking (tickets) etc. Lo que veo más complicado es disponer de entornos de construcción donde podáis aplicar integración continua o prácticas similares.

    Un saludo



    Comment by Manuel Jesús Recena Soto
    September 30, 2008 @ 10:34 #

  2. Some of the other pieces of software we couldn’t live with:
    - Domain integrated GMail and Google Calendar
    - Google Docs
    - Trac (as a wiki and bug tracking device)
    - Cruise Control.Net. That’s not so much for communication, but it keeps everybody honest with a build after every check in, running Lint, and running the functional tests.

    We haven’t actually considered using Twitter or Dropbox though. We might give those a try.
    Thanks for the article!



    Comment by Noel
    September 30, 2008 @ 15:59 #

  3. Hola Recena. Si, claro que me acuerdo. :)

    Bueno, tenemos un server contratado, pero el ancho de banda no da para el uso interno que hacemos. Tenemos montada una VPN para todo eso. Pero claro, en servidores locales que no tienen mucho ancho de banda de subida. Pero bueno, de momento nos vale.

    Tambien usamos Trac. Pero andamos decidiendo si ese sera el software que tambien expondremos para fuera.

    Respecto a la integración continua, pues seguimos esa filosofía. Aunque ahora no tenemos hardware para compilar todo en cada submit. Todo se andara.

    Un saludo.



    Comment by ent
    October 2, 2008 @ 2:25 #

  4. Hi Noel,

    Yes, domain integrated gmail and google calendar is helping us a lot.

    About Cruise Control.NET, we have not configured it yet. But we are thinking in developing our own solution. In the past I have not had good experiences using Cruise Control. Hard to configure and prone to errors.

    Is it working fine for you?



    Comment by ent
    October 2, 2008 @ 2:29 #

  5. Hello Ent,

    I have to admit I didn’t think of Twitter as an option in that working environment, but the more I think about it, the more appealing it seems.

    Here are my suggestions:

    If you happen to work with Netbeans as we do, I would strongly recommend setting up a Openfire server (http://www.jivesoftware.com/products/openfire). Thanks to the NetBeans Collaboration plugin (http://collab.netbeans.org/) you can share code via the server for others to modify online, for transfering sections of the project, etc. Very helpful.

    Another piece of software I could not live without is a simple wiki site. We use one which is easy to install, manage and use: dokuwiki (http://www.dokuwiki.org/dokuwiki). Great for recording compilation steps, setting up libraries, url of repositories, and a long etc.

    Finally, for those developing in Java who don’t know anything about Maven yet, go learn now! You can then set up an Archiva repository manager to save bandwith (http://archiva.apache.org/). Once maven it is configured against the archiva repo, the first time maven fetches a new jar file, archiva will cache it up. Next time someone else in the local network needs the jar file, it is provided by archiva, instead of accessing public repos on Inet.



    Comment by Enrique Alonso
    October 2, 2008 @ 12:00 #

  6. Hola Ent:

    Quizás te interesen los temas que tratamos en este grupo:
    http://groups.google.com/group/ecosistemas-software

    Precisamente hablamos de nuestros entornos de desarrollo configurados con herramientas siempre en el ámbito del software de fuente abierta.

    Un saludo



    Comment by Manuel Jesús Recena Soto
    October 15, 2008 @ 21:33 #


Sat, 20 Mar 2010 13:03:20 +0100 / 30 queries. 1.559 seconds / 2 Users Online

gentoo link wordpress link apache link PHP link

Theme modified from Pool theme. Valid XHTML and CSS