Discourse

I am participating on different forums and some of them are built with this open source software called: Discourse.

From usability point of view it’s the best one I am using. It’s not only the look and feel, it’s the sequence of information offered, the access to the already read threads, and many little details that makes you feel comfortable using it. You feel you save a lot of time when reading a blog using this software.

This behavior is on the desktop and mobile, which makes quick reviews of updates very easy. The keep you engaged on the web.

On the .org page you can implement it for your own forum with different pricing options.

Tribe.so

You can use https://tribe.so/ too for installation of an environment.

 

 

 

Boldgrid

Boldgrid makes it easy to create beautiful websites on WordPress. The suite of tools and plugins lets you build and manage professional websites.

With BoldGrid’s free website builder you can instantly launch WordPress in the cloud and test building out a free fully functional website.

BoldGrid is powered by WordPress so you can take your website with you to any web host (this is what I did).

Templates and a builder plug-in that enables you to compose the pages and blog entries with infinite ways or shapes.

SEO capabilities to enable the right population of tags, key words and other aspects that are in benefit of being found,

The result?

I created a simple blog for posting pictures of the kids, so family is up to date of what’s going on with kids.

http://www.joapen.com/jepc/

Pydev with Eclipse

I find EMACS too much complex for me. I want to concentrate on the analysis of data with Pyhton, so I have looked for and alternative IDE for Python: Pydev.

The steps I have followed are:

  1. Download and install Eclipse (in reality I had it on my computer).
  2. Then, download, install and test Phyton.
  3. Once done, download and install Jython.
  4. Download and install IronPython.
  5. Install PyDev.
  6. Create a new PyDev project.
  7. I have created a hello.py file with print(“hello world”), then I have debugged it and it worked.
  8. Create a package to gather all the information.
  9. The set-up of the environment is very well explained. You first have to configure the interpreter, then you can develop all you need. In my case I’m starting importing some finance data from Yahoo Finance.
  10. Using Windows>Properties>Python Interpreter , install library “numpy” using “pip” as installer. This step is crucial to me as Python interpreter just work on PyDev in my computer.

EMACS

I’m sure EMACS runs faster and it’s more efficient than Eclipse, but the point is that now I can concentrate on the development of the scripts I want to implement. 🙂

Problem with the text editor of WordPress

After one of the WordPress updates I started to have an issue with the text editor. Basically none of the features worked, and after saving a post in plain text the data was deleted.

I found a solution on this post: edit the file “wp-config.php” and add a line of code.

//previous line
if(!defined(‘ABSPATH’))
define(‘ABSPATH’,dirname(__FILE__).‘/’);
//Add this line
define(‘CONCATENATE_SCRIPTS’,false);
It worked, so I save this solution just for my poor memory.

Open Source Frameworks Summary

I have been working on an analysis of different Open Source Frameworks.

The criteria used on the analysis was the one commented here.

The number of frameworks analyzed is limited, basically I had not time for all it did not make sense for the customer. We did a selection that you can consider good or bad. We selected some different type of frameworks to give perspective to the customer about the different type of environments and the diversity that exist.

This is the summary:

Open-Source-Framework-summaryFor me this has been a great experience to study them, read about different philosophies and spend time on a different topic.

Open Source Framework, criteria to select the right one

Select a development framework it’s not an easy exercise, there are too much factors where we have to focus on.

Today they are popularly called “web frameworks”, name that to me is wrong, in a world where all is moving “mobile”. Let’s call it framework.

Other aspect is the target organization is a company, not a start-up. Here we have to convince people such: finance, business users, IT folks… This technical selection is part of an approved business case, with clear road-map.

With it, this is the initial criteria list we are going to use.

  1. Popularity and community size: this will tell you so much things. How many people accepts the concept and the way to implement solutions, how many available code is available and you do not need to write, how much forums are available to make your questions and pass the hurdles you find…
  2. Philosophy: the way of life of the open source project has to fit with your way of life, these aspects are essential during the evolution of the relationship between the given group of people using it, and the evolution the framework presents. Yes, relationship, this is like a marriage, you will have to live with the good and bad things of your new partner, so look for the partner that you can get along with.
  3. Sustainability / roadmap / scalability : We want to understand how the frameworks has evolved during the last years, how they have survived in a market where they have to attract community of people who has business issues. We want to understand if they publish a clear roadmap of their next steps for the core of the framework. We are going to build complex things, we want to know if we can build with a clear architecture and they provide all type of solutions that enable us to build our solution in an scalable way.
  4. Support: Look for how much channels of support you can access. This includes free forums, private companies offering their expertise, even check if the organization behind the framework provides support through their services or through a sponsor company. To review the sponsors list of the framework helps too.
  5. Amount/quality core upgrades : this will provide you information about how quick the project team reacts to changes, to pitfalls, how the cover security issues. Other thing is how each core upgrade affects to your system. This also gives you the visibility about how serious the people behind the framework is and how big their organization is. Quality is important too, for instance I have done thousand of core upgrades to WordPress and I never had an issue: this is my level of expectation.
  6. Technique (pattern): We are focusing here on the development pattern implemented by the framework itself. We can have freedom, MVC, POC,… what is the best thing for us?
  7. Security: This is very easy, 2 steps. First: What is the security requirements I have?; Second: Does this framework cover it?
  8. Documentation : how is the formal documentation offered by the framework, how much books are published about it, how much forums exist about “how to”, how well documented is the API.
  9. License: Not all open source licenses are the same thing, they are similar but it is important to understand the details.
  10. Availability of resources in market related to the framework: pieces of code, plug-ins, themes, people, servers adapted to this specific framework.
  11. Ability to integrate third party resources : a framework cannot attend all needs of the community, but it can enable the community to integrate the best pieces of software. This ability gives you how permeable/flexible is the framework, and how focused is the project team on their core capabilities. For instance, if the core of your framework enables JUnit integration as testing capability, you can focus the evolution of your framework on the core capabilities, offering the community how to cover testing needs with a trusted solution. If a framework has not clear differentiation in the market, it will disappear.
  12. Learning curve : This factor is more or less important. It could be the case you have a very experienced team and you do not care about it. It could be the case that you have so much attrition and you want to ensure that the market offers quick replacements through the hiring of junior people that quickly can be productive. It could be the case that it is relevant for you because the market offers you so much pieces of code that you can cover thanks to the community. It could be the case that easy learning means that when you want to implement complex things, the framework has limits, so it is not useful for you.

 

Windows patches

A customer called me today to discuss about software alternatives related to future microsoft-patch-dayenvironment for a shop floor solution they have. We reviewed the main requirements and during the conversation we talked about different major environments. Suddenly we did a stop on .NET, and this was what happened.

We are running a shop floor solution that is today is available 24×7, we do not stop. I cannot go to the business and say: we have a solution that is so “cool” but we will have outages. Our 25 years old solution has not outages, I cannot propose a new solution with this basic hurdle.

Windows patches are a stopper when deciding on the use of .NET framework. You have to stop the machine and apply security patch or an upgrade or whatever.

  • Why don’t use a cluster? it’s too expensive.
  • Why don’t implement the solution on the cloud? they cannot rely on network, it’s more investment to ensure availability.

After that, we continued talking about Open Source solutions.

 

OpenSource Vs ISO

During the last 10 years the software companies have jumped to the industrialization thanks to some elements that made that possible. One of them is Open Source.

Manufacturing companies developed control organisms for the development of methodologies and standards with different goals: reduce costs, have a common language within the industry, and be compliance with very strict regulations (depending on the sector).

During last years, a new organization was created: AUTOSAR (AUTomotive Open System ARchitecture), which tries to standarize and industrialize the software oriented to the automobile. Brands like: PSA Peugeot Citroën, Toyota, Volkswagen, BMW, Daimler AG, Ford, General Motors, Bosch and Continental are present here, and they know this is important as software companies as Google are evolving on their own solutions. This type of things are not new for these manufacturers.

The Open Source organizations were created with the same vision than ISO: industrialize, look at the benefits of ISO.

Open Source is a massive destruction weapon for software companies, and it’s ability to build platforms and standardize processes and tools is a key reason for the transformation of the software industry. I remember the big changes on this area between 2000 and 2005: Facebook/hadoop, AWS, and SalesForce…. as examples of ability to industrialize.

Who pays to the Open Source institutions? the big software companies: Google, Amazon, Facebook….. they all know about the importance of the industrialization. In the same way than ISO.

ISO does not only provides guidance, it also certificate organizations in the different industries and standards. To me this is something that should happen in the software industry in the future.