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. Download, install and test Phyton.
  3. 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.

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.

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.

OSCON Videos

I have enjoyed watching videos from the Open Source Convention. I like the visionary videos, and to learn from some very interesting people who prepared these nice speeches.

The videos have something good: they take 10 – 15 minutes, no more… well there are some exceptions.

The Making of a Cloud Native Application Platform – Sam Ramji

  • Capability driven framework is not the valid strategy framework: innovation is the right framework for competition on the marketplace.
  • www.docker.com
  • Continuous innovation, continuous deployment, continuous integration.
  • Majority of companies are not able to implement continuous deployment and continuous integration, they fall on: “waterascrumfall”.
  • “Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization’s communication structure.”
    Melvyn Conway, 1967
  • BNY Mellon, J.P. Morgan say Cloud Foundry prevents vendor lock-in

“How”, “why” and “what” Facebook Open Sources at Scale – James Pearce

Why does Facebook open source?

  1. It accelerates innovation
  2. We write better software
  3. We share our challenges

Zurmo non-sent e-mails

When I do massive use of a campaign, I have sometimes the problem that some e-mails are not sent.

There is not user report that enables you to get them, so I have gone through phpMyAdmin to find and analyze them. The table used are:

1.- e-mail messages not sent:

SELECT * FROM `emailmessage` WHERE `sentdatetime` is null

2.- Select specific campaign items:

SELECT * FROM `campaignitem` WHERE `campaign_id`=’27’

I have removed the emailmessages without sentdatetime and its respective campaignitem.

Campaigns status values

  • Active = 2
  • Processing = 3
  • Completed = 4