Thursday, December 19, 2013

[ MSWL - Developers and Motivations ]

Free/Libre Software and Education

Last December 12th was held on Fuenlabrada's campus at URJC the GSyC/LibreSoft 2013 Convention, which counted with the presence of Richard M. Stallman (RMS) who offered a talk entitled "The Free Software and Your Freedom" (http://www.fsf.org/events/20131212-fuenlabrada).

In this talk Stallman spoke among other things about the goals and philosophy of the Free Software movement as well as the history of the GNU operating system, with emphasis on the ethical benefits of using this type of software.

The evolution of free software projects depends heavily on the formation acquired by individuals in the education system, but more importantly are the values ​​that govern these projects, which in turn leads the society.

As far as FLOSS would gradually be adopted by formal education systems in society, future leaders will emerge with robust foundations on issues of human rights, freedom, cooperation, and core values ​​for good and human progress. As RMS mention, "Free Software is not just a technical question; it is an ethical, social, and political question."

---
Reference: http://www.gnu.org/education/

Tuesday, October 15, 2013

[ MSWL - Development Tools ]

Benefits of using git

git is a distributed source control management system initially designed and developed by Linus Torvalds in 2005, distributed under GNU GPLv2 license. Among the main goals of this project was to support:
  • Distributed revision control system workflow, synchronizing code by exchanging patches from peer to peer
  • Strong safeguards against corruption, either accidental or malicious
  • Low latency of patches going into repositories, focused on speed
As Linus mentioned, there is a complete manual and tutorials asociated to this tool in the main website (http://git-scm.com/) that shows many of its features and how to use it, but there is a great Tech Talk given by Torvalds at Google in 2007 in which he emphasizes the following specific benefits:
  • Reliable: the system guarantees that the code putted into it, comes out exactly the same at any other time, preventing disc corruption or malicious intent. Get your own branch, doing a great work or a mediocre work, is not relevant, it's your own copy. A good backup way, cloning from trusted sources.
  • High performance: allows to track around 22,000 files in 5 seconds top.
  • Distributed: no single place of storage, be able to do everything from any location without access to the server, off-line work.
  • Disseminated: globally adopted by various systems and infrastructures.
Another important element is the repercussion this project is adopting in different areas of society, since its creation git is increasingly been used even in projects not related to computer science, due to we now live in the information age and require efficient systems to manage it.

Source: https://git.wiki.kernel.org/index.php/LinusTalk200705Transcript

Monday, October 7, 2013

[ MSWL - Development Tools ]

Python: The importance of Docstrings

A docstring is a literal string description or definition of a module, function, class, or method in the Python code. It becomes the __doc__ attribute of that object.

A docstring corresponds to something like the following:

  def function(a, b):
      """function(a, b) -> list"""

Or even something more comprehensive like this:

  def complex(real=0.0, imag=0.0):
      """Form a complex number.

      Keyword arguments:
      real -- the real part (default 0.0)
      imag -- the imaginary part (default 0.0)
      """

On the other hand, unlike the usual comments, a docstring facilitate the task of consulting the description of a module, function, class, or method from the Python interpreter, without requiring access to the source code to understand its operation, facilitating its usage.

All of this is a technical matter, but the real deal about it is to make the code readable and understandable with the intention of attract as many contributors as possible.

If the code of a project is not well documented, commented or described, there is no one who would want to use it or much less contribute to it. So if you're taking the time to code something transcendental or productive, then try to incorporate docstrings in the process, as this will allow a better diffusion of the project, or at least later will allow you to better understand what you did in the past. It is a good practice for you and for everybody in the programing world.

Source: http://www.python.org/dev/peps/pep-0257/

Wednesday, September 25, 2013

[ MSWL - Development Tools ]

Python Programming Language

Some years ago we would say Python is mainly an scripting programming language, but nowadays there is nothing worse than to consider it like that.

A better description of Python would be that it is an efficient general-purpose, high-level programming language emphasized on code readability, created in the early 1990's by Guido van Rossum at Stichting Mathematisch Centrum (CWI, http://www.cwi.nl/) in the Netherlands. Among many other features Python supports object-oriented paradigm as well as imperative and functional programming. It is also a multiplatform language as it is available for all major operating systems on the market. And one of the best news is that Python is implemented under an open source license (Python license) that makes it freely usable and distributable.

Currently there are two mayor branches of Python (v2 and v3) with small backwards compatibility between them, been version 2.7x the most widespread until now. A large part of the Free Software community has based its development on this powerful language and keep doing it.

Good interpreters which will help us to interact with Python are ipython and bpython as well as the documentation website for the project.

Source: http://www.python.org/

Sunday, March 3, 2013

[ MSWL - Project Management ]

FORD GOES OPENSOURCE

The automobile company announced at Mobile World Congress last February, that decided to go OpenSource on their Sync AppLink system, claiming that this way they will speed up the development.

Ford is releasing it's platform proprietary source code to Genivi, an automotive-centric open source alliance, also providing all necessary documentation to implement AppLink software into any vehicle’s infotainment system for iOS and Android devices, which pretends incentivate developers to create specific apps for cars. The code, known as SmartPhoneLink, will be released under a BSD license.

This is an estrategic move from Ford and also for Genivi, as one of several automotive technology organizations attempting to set a standard based on OpenSource while gaining traction and members.

Source: http://www.wired.com/autopia/2013/03/ford-sync-genivi/?cid=co6138614

Tuesday, February 19, 2013

[ MSWL - Project Management ]

SUSE - Adopting a strategic field

Almost a decade ago, SuSE was one of the cutting-edge Linux distribution. However nowadays with Red Hat dominating the Enterprise Linux Server market, Canonical owning the Linux Desktop market, and Google's Android running over the Mobile market, a valid question is 'What exactly is left for SuSE?'.

It seems that mainframes and cloud are two of the target markets for SuSE this decade. SuSE Cloud is one of the products for private cloud deployment, based on OpenStack. On the other hand there is System z support for mainframes, which guarantee uptime and performance over Linux kernel.

In any case, SuSE keeps offering their desktop distro Linux openSuSE which let them manage to stabilize the versions released in its enterprise products with the help of the community.

Source: http://readwrite.com/2013/01/25/does-suse-linux-have-a-future

Sunday, January 27, 2013

[ MSWL - Project Management ]

Social Enterprise and Business

Lets say that social enterprise is about take popular social media tools like blogs, wikis, forums, real-time communication platforms, etc., and use them for internal collaboration, project management and overall feel-good business practices.

It seems that in practice, a lot of companies have found that actually using this stuff does not guarantee happiness and productivity to their organization. Usually appear stumbling blocks that won't accept to moving forward on a project unless there's a meeting or memos in between - the very things social enterprise practices are trying to eliminate.

There's the issue of figuring when and for what social enterprise should be used? Employees may get confused over when and how they're supposed to turn to the social media platform in their day-to-day jobs. And if only some workers engage with the platform, its utility is greatly reduced.

"You Can't Force Workers To Be Social" - Enterprises can't just switch and turn on a social network, it is only possible as users find these tools helpful and engaging for their daily activities. Social media tools do make it easier to establish those connections, but it's not something you can force.

So in general, it is pretty important to implement a proper change management to gradually incorporate social enterprise tools and practices in business.

Source: http://readwrite.com/2013/01/25/social-enterprise-is-not-living-up-to-its-promise