NEWS

I’ll miss you Steve Jobs

By roberto.majadas | October 6, 2011

Remembering that I’ll be dead soon is the most important tool I’ve ever encountered to help me make the big choices in life. Because almost everything — all external expectations, all pride, all fear of embarrassment or failure – these things just fall away in the face of death, leaving only what is truly important. Remembering that you are going to die is the best way I know to avoid the trap of thinking you have something to lose. You are already naked. There is no reason not to follow your heart.

- Steve P. Jobs, Stanford, 2005

Posted in Uncategorized | Leave a comment

OpenShine git workflow

By roberto.majadas | May 25, 2011

Today i would like to explain to you about the git workflow that we follow at OpenShine. As you know, git is a wonderful distributed version control system developed by the linux kernel team. This tool is used by many Free software projects as for example : gnome.org freedesktop.org kernel.org .

For a year , maybe more, we’ve been using git for our projects. The experience has been good, but in the beginning was a little bit complicated. The main problem was the git learning curve. If you has been using svn or cvs, the change to git is a little bit complicated because there are new concepts to learn about how to work with different repositories . So we thought it would be necessary to create a workflow for make easier our work.

I started reading documents, articles, books about git and git workflows. There are a lot of information about it , so I took ideas from here and there  and i draw it with inkscape. While we work, we discussed the workflow and fixed it if necessary. And the final result was this (now released under CC-BY-SA  ;) )

OpenShine git workflow

Available in png, pdf, svg formats. And you can fork it in this repository .

The diagram has two parts, left side shows the git workflow and the right side is the explanation of the workflow steps. In the initial situation, we’ve a repository (osproject at openshine) that we want to add a feature or fix a bug.

So the workflow is as follow :

  1. Fork a project in github, and this fork will be stored in your github account. To “fork” a project in github means to create a clone of this project.
  2. Clone the project fork, that you create in the 1st step, in your computer.It’s really useful adding the upstream repository as remote (the repository from you forked in the 1st step).
  3. Keep updated your repository from upstream whenever possible.
  4. Create a branch with the feature’s name or the bug id and description. Something like add-new-configuration-window or main-window-error-57 …
  5. Develop & commit, develop & commit …..
  6. Check if your branch is updated from upstream.
  7. Feature complete !!
  8. If you want to push all your commits check 8th step in the diagram
  9. If you want to push all your commits but in a single commit, check 9th step in the diagram
  10. Now you’ve you branch in your github account. The last step is ask to the upstream developer if you can merge your branch in upstream. So, press “Pull request” button. When your changes will be accepted by the upstream maintainer you can remove your branch stored in your github repository with “git push origin :branch-name”.

The Maintainer workflow is about how to merge branches from the point of view of upstream. But in the new version of github is not necessary in most of cases because you have a “Merge” button.

And finally … some useful links :

I hope you liked it and you find it useful :) .

 

Posted in git, openshine, workflow | Leave a comment

Just thinking about software

By roberto.majadas | March 26, 2011

After years trying to start a serious blog about software and my thoughts about it … I’ve decided today is the day.

This morning i was thinking about it while i was reading news and drinking coffee. Sometimes it’s boring to write because you have to do it. So i’ve decided to write on this blog just for fun. And … what is fun for me ? it was my next thought . Hmmm funny question, isn’t it ?. Software obviously. But, in what way ?. I mean, which is the goal of this blog? . So i started to think about it, more and more, and finally my thoughts led me to another question : When in my daily life is fun talk about software and in what way? The answer was easy : when i talk with other hackers (and friends) about software and technology (usually while drinking beer) and when i try to explain things about software to people that they want to learn. So that’s it, that’s i was looking for! . I need to write the blog post in the same way as i talk with my friends or teach to other people.

So here i am, just thinking about software.

Posted in General | Leave a comment