Blog

Installing and protecting WordPress from CLI and .htaccess

By Martín Navarro – Quality Assurance at Santex

IMG_2850

Installing WordPress has never been easy as it is in the most recent versions of it. The steps are as easy as to copy over FTP all the files of the CMS to our hosting and access our site from its URL to start its installation. Sometimes if we have SSH access to our server we can download and unzip WordPress files directly to our website directory without the need of a FTP client, we just need a shell from Linux, OS X or Windows with Putty and use the following commands.

First we need to navigate to the root folder of our website that depending on your hosting/ server configuration can be different from the following example:

cd /home/your_website/public_html

Now that we are already positioned on our website root directory, we proceed with the download of the latest WordPress installation files:

wget http://wordpress.org/latest.zip

The download will start and it will be blazing fast since we are using our hosting internet connection.

Now lets unzip all the WordPress files:

unzip latest.zip

After doing this we are going to get a new folder in our website root called “wordpress”, we need all the files inside of it, located in our website root folder (only if we are going to host just one WP installation)

cp -rf ./wordpress/* ./

With that command we are moving all the files inside the “wordpress” folder to our website root folder.

And that’s all! Now we just need to point our browser to our domain and start with the configuration of our new WordPress site.

Although that’s not really all, once the installation/configuration of our new website is done, we need to secure it. One of the easiest ways to do this is by using the .htaccess file (Hypertext Access) within that file we can override some features of our webserver. By using the right commands, we can defend our website from spammers, hackers and other types of attackers.

After enabling the “Permalinks” functionality of WordPress a .htaccess file is created in the root folder of our website and indicates to our web server how the URL’s for our posts are going to be created.

Let’s protect our wp-config.php, .htaccess files. These files contains very sensitive information and it’s the first file we MUST protect from attackers. It contains information on the database we are using, user, password and other configurations parameters.

This is the parameter we must add between the lines “#BEGIN of WordPress” and “#END of WordPress”

<files wp-config.php> order allow,deny deny from all </files>

<Files .htaccess> order allow,deny deny from all </Files>

No one, not even ourselves, will be able to access that file. In our case we will still be able to access it via SSH, SCP, FTP.

Let’s disable directory listing, by doing this we are going to hide our folder structure and it’s a good measure to difficult the attacker’s first intentions.

Options All -Indexes

Protecting our images from Hot Linking, this is a technique where other users steal our bandwidth by using our images directly from its URL into their own websites. This is good for the bandwidth thief but not for us since all of the images in their website are going to be loaded from OUR web server.

Add the following lines to your .htaccess file.

RewriteEngine On RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain.com/.*$ [NC] RewriteRule \.(gif|jpg)$ http://www.yoursite.com/hotlink.gif [R,L]

With these lines the attacker will use the URL but the image displayed is not going to be the right one but a warning image that we created for this matter.

These lines and practices are just a few but are the most important ones to follow right after the installation of our website or even later if we already have an old installation of WordPress.

About the Author: Martin Navarro is a detailed Quality Assurance professional with full system development lifecycle experience, including designing, developing and implementing test plans, test cases and test processes. Martin is a strategic team player always willing to contribute and to solve problems.

US Ambassador visits Santex premises in Cordoba to discuss the importance of ties between Argentina and the US

[Press Release]

Cordoba, Argentina – June 8th, 2015

Noah Mamet, the United States Ambassador in Argentina visited one of our major development centers located in Cordoba. The Ambassador was accompanied by Yamilee Bastien, Commercial Attaché at the Embassy.

Ambassador Mamet addressed important observations about the U.S. – Argentina relationship and stated that Cordoba is a promising technology hub, rich in talent and tech start-ups. During the visit, the dynamic and creative economy of the Province together with the strong technology field and the developed entrepreneur ecosystem were mentioned as key aspects which are accelerating Cordoba’s position on the global arena.

This visit was part of an official tour the Ambassador is taking on to strengthen relations between the country’s provinces, its people and the United States.

Santex welcomed different technological entrepreneurs at its “Tech Pub” to share experiences with the US delegation, where Mamet gave advice and discussed different programs that encourage bilateral initiatives.

Juan Santiago, CEO & Co-Founder of Santex, shared his experience both undertaking his own company as well as supporting local entrepreneurs stating his confidence in the high skilled resources, the cultural proximity and the creativity that Argentinians bring to the table as the main differentiators.

Because of trade and talented people, future economic prospects between the U.S. and Argentina are bright. According to the Ambassador there are a lot of US Companies that are ready to invest in the country. He stressed the potential he is seeing in some of the most important sectors like telecommunications, informatics and agriculture. “Argentina is on the rise”, said Ambassador Mamet.

IMG-20150608-WA0004

What makes Argentina special?

The Talent

  • Argentina has a high level of educated workers with formalized education. Indeed, over 70% of workers have pursued university education with as many as 50% of those obtaining computing related degrees.

  • Approximately 90,000 international students come to study in Argentina each year, more than any other Latin American country.

  • Over 30,000 of these students are from Europe, the US and Asia, with attractions including the high quality of courses, affordable living costs and the chance to become proficient in speaking Spanish

  • Argentina has a very talented pool of technically savvy and well-educated resources ready for work. During the dot-com boom, the country was home to approximately 65 percent of the design and implementation work of most regional Internet startups. Argentina has a highly educated skilled workforce, a robust telecom network, and an abundant supply of office-space. Moreover, a team from the National University of Buenos Aires beat important groups like Harvard, Stanford and San Pablo universities in the last international Programming contest.

A Technology Pool

  • The ICT sector in Argentina has been growing without interruption, thus being positioned within the high performing countries.

  • World-class companies such as Oracle, Microsoft, IBM, Motorola, Intel, stand out in Argentina by the stimulus they have given to the development of local companies and the level of innovation shown in different projects; and furthermore, for the development centers that some of these companies have established in our country.

  • Sustained increase of the budgets allocated to Science & Technology and Higher Education.

  • Argentina promotes collaboration between the development of science and technology and the innovation of productive sectors. Following this purpose, the Government has created different programs.

  • Argentina is currently ranking at the global level as a nation with a superlative performance in its ICT sector. It is also known for its high level of consumption of technological products and services, which accounts for the importance in the use and dissemination of these new technologies in the country. Argentina has an important place within software and computing related services.

Argentine Culture

  • According to the English Proficiency Index, Argentina is number 15 in the world, and number 1 in LATAM.

  • The culture of Argentina has a European flavor that will is familiar to most North Americans.

  • Argentinians, like Americans, approach their work and life in general with a can-do attitude. Their knack for discovering innovative solutions is a direct result of their desire to make things work with the tools and materials at their disposal. WE MAKE IT WORK!

Thanks to those who trust us:

Services-Clients

Sources

 

 

Extreme programming…once again

By Jose Torres – iOS Software Engineer at Santex

images

Vague or constantly-changing requirements are a fact of life. Instead of ignoring them, we should adapt our processes to reality. Extreme Programming (XP) principles exist to help us safely drive the work of building software. The web is full of information on XP, which can be synthesized as:

> Lightweight, evolving, flexible knowledge to develop software.

The concept of XP comes from the 90s. It bears repeating though, because, unfortunately, many organizations have lost the point. Perhaps they apply technical principles and fail in their flaccid adaptation. Maybe they employ agile processes but little technical practices. Can these discrepancies be balanced? How can we fight back?

Move to an extreme state and embrace its principles. Some organizations resist this shift. One of the best ways to adapt to this change is by running a pilot on a small, internal project.

XP principles state that at least two developers must work in a single workstation. To extend this concept, add one more step after the development sprint organization and consider having the team determine the number of developers who will work together for each user story. On the most critical user stories, place the whole team at a single workstation to discuss and then write production code.

XP principles also dictate a short release cycle for the product. To take this concept further, set up a specific time period during the day (i.e., every three hours) to continually release the product. You could also consider a full integration, if possible. This will help relieve the problems of production integration later, as integration is always happening. As David Farley states “reduce cycle time and the rest falls out.”

Keep in mind that having an active local community can help you to go further. In London, for example, there are multiple extreme programming initiatives like XProlo, eXtreme Tuesday Club, XPDay dedicated to XP practices, where people can join and share knowledge. We should continue creating initiatives and networking to create communities and evolve together.

There are many ways of actively moving forward on integrating extreme principles to software development. As main actors, we are responsible for tracking the efforts of our organizations as they assimilate real XP practices to the next level.

About the Author – Jose is an innovative Software Engineer who specializes in developing iOS applications for both iPhone and iPad. Skilled in creating business applications as well as games, Jose enjoys mentoring colleagues and fellow developers.

How Agile methodologies mitigate cognitive biases that lead projects to failure

By Walter Abrigo, Managing Director at Santex

I want to emphasize in this article how the existence of two cognitive biases (which are almost always present in our daily lives) position agile methodology practices  as one of the most adaptable frameworks for project monitoring and management in general. This is especially true when the context of the given project development is complex, has changing requirements that are poorly defined, and where innovation, competitiveness, flexibility, and productivity all combined are critical to achieving the desired results.  

Cognitive biases

  1. The emotional aspect of our decisions and choices.

  2. The fallacy of planning.

By reviewing each of these biases, we can see how people’s behavior fits better and more consistently with the structure of Agile methodologies.

Our decisions and choices are emotional

The following cases demonstrate how in our everyday decision-making we often forget the Base Rates (or the true distribution of events). Additionally, we strive to make sense of representative stereotypes, we seek causes and explanations, and we have a natural aversion to losing whenever there is something at risk.

First Case: Forgetting the Base Rates (the true distribution of events)

Tom is extremely intelligent, although he lacks true creativity. He needs order and clarity, and prefers systematic organization. He has a strong competitive drive and seems to have little interest and sympathy for others. He does not enjoy dealing with other people. Although he’s self-centered, he has deep moral awareness.

Let’s order the following nine areas of expertise according to the probability that Tom would be a student in any of these fields. We’ll use 1 for the most likely and 9 for the least likely.

  • Business Administration

  • IT

  • Engineering

  • Humanities and Education

  • Law

  • Medicine

  • Physics and Biology

  • Social Sciences and social work

Most will agree that Tom fits well with the stereotypes of smaller groups of students, like IT and engineers, but would fit poorly into larger groups, like humanities and education, social sciences and social work. This is an example of how we substitute the probabilities of the Base Rates for representative stereotypes.  

Second Case: Prejudices based on stereotypes

Linda is thirty-one years old. She’s single, outspoken, and very bright. She majored in Philosophy and when she was a student, she was very concerned about the issues of discrimination and social injustice. She participated in several anti-nuclear protests. Given this information, which of the following scenarios fits best with Linda’s personality?

  1. Linda is a bank teller.

  2. Linda is a bank teller and activist for the feminism movement.

Most will agree that Linda is most suited to the role of “bank teller and feminist.” The stereotypical teller may not be a feminist, so including this detail adds more emphasis to the description. Nonetheless, both feminist tellers and regular tellers share the common fact that they coexist in the world of ‘tellers.’

P(teller)=P(feminist teller) + P(teller not feminist).

Third Case: Seeking causes

Take the gender of six children born one after the other in a hospital. The sequence of boys and girls is random. Each event (birth) is independent of the other, and the number of boys and girls born in the hospital in the last hour has no effect on the gender of the next child. Consider now three possible sequences (M = male, F = female):

  1. MMMFFF

  2. FFFFFF

  3. MFMMFM

Are these sequences equally probable? The intuitive answer is, “Of course not!” but that is false. Because each event is independent and the results M and F are both (approximately) equally likely, all possible sequences for the six births are as likely as any other. Now that we know that this conclusion is true, it seems counterintuitive because only the third sequence appears to be completely random. Our minds are built with associative machinery that continuously seeks causal relationships, and this tendency leads to serious error in our evaluation of sequences that are truly random.

We are hunters of patterns, believers in a coherent world in which regularities (like a sequence of six girls) are not accidentally produced, but rather the effect of a particular cause or someone’s intention.

Fourth Case:  We are willing to risk more when it comes to losses than gains.

Situation 1: Imagine a group of people where each one has $3,000 and you give them a choice between:

  1. Receiving another $1,000, or

  2. Flipping a coin and playing the $1,000 for double or nothing: if they win they’ll receive an additional $2,000, but if they lose they get nothing.

What would you choose?

Situation 2: Imagine a group of people where each one has $5,000 and you give them a choice between:

  1. Giving up $1,000, or

  2. Flipping a coin to play $1,000 for double or nothing:  If they lose, they give up $2,000, but if they win they don’t lose any money.

What would you choose?

Most of us in Situation 1 prefer option 1 and most of us in Situation 2 prefer option 2. The interesting thing here is that the odds of the four options are identical, but differ considerably in our minds. We are more willing to take a risk when it comes to LOSSES and are more reluctant to take a risk when it comes to benefits.

The fallacy of planning

The fallacy of planning in one manifestation of an omnipresent optimistic bias. Almost all humans see the world as less harmful than it really is, our skills better than what they really are, and our goals easier to achieve than they really are. We also tend to exaggerate our ability to predict the future, which exudes optimistic overconfidence.

When we complete a successful project, we assume that it was due to our accurate and detailed planning of controlled variables. We forget the random variables that impacted us positively. We assume the cause of success was within the plan, and we are the performers.  

When we finished a project and it was unsuccessful, we assume that this was due to the presence of external uncontrollable variables, not foreseen from the beginning which affected us negatively. The cause of failure is out of our hands, and we are not the performers.   

Agile methodologies mitigate these biases

Having raised the existence of these two cognitive biases (the emotional side of our decision-making and the fallacy in our planning), we see two aspects of Agile methodologies that make them in the most effective way to mitigate the biases: valuing people and response to change.

By realizing that our decisions are more emotional than they are rational, we place more value on individuals and their interactions than we do tools and processes. This allows us to communicate more empathetically and understand the emotion behind our choices.

Regarding the fallacy of planning, by putting more value on response to change, rather than following a plan, we can better detect the random variables that may arise and impact the results.

In this way, we can realize the importance and value that Agile methodologies have in reducing the noise and deviations that may occur during the development of a project.

Sources

KAHNEMAN, D. (2011) Thinking, Fast and Slow. Debate Editorial.

About the Author - Walter Abrigo is a Managing Director at Santex. In addition to his large academic career, he possess market expertise in several organizational processes such as management control, change and strategy, recruiting and staffing as well as performance and engagement.

You can read the spanish version of this article published in “Pulso Social”.

Three steps to making communication more effective

Do you feel you aren’t heard or that people don’t respond the way that you expect?

Here are three areas that I have tried to focus on even more so since the beginning of 2015 and I hope it will make me more successful in both personal and professional situations.

confused_sign_post.jpgCommunication can always have glitches and we need to always be mindful of ways to improve.  Improvement is incremental and continuous. (Step by step we can always do better.)  Whether the communication is in the same office or a long distance, making sure that you consider these points should help in making communication more effective. In the case of Santex we have both company offices and customers who are a long distance apart.  So getting this right is important all the way around.

I think of these three incremental steps as questions that I ask when I am actively communicating.  

Am I providing context or a framework to the messages that I send to people?  

Providing context doesn’t mean using more words to explain something. To the opposite, it is providing a simple, understandable framework so that the person receiving the message understands why you are communicating the message and what your expectation is regarding your response.  If this is done in a consistent way, your audience can anticipate what they will get for a message and be better prepared.  

Context also means what is the context in which the message is received?  Timing can be extremely important. Sending a message in the middle of the night and asking people to respond within the next day may not be reasonable for people who plan ahead. It may make you appear disorganized and demanding even if your intent is to show energy and enthusiasm.

Do I have their attention?   People have so much stimulation of all senses that a message whether audible or visual can be missed because they just weren’t paying attention. Don’t assume that because you sent something that the person has received the message and they understand the significance of the message.  Trust is ok but still verify.

Is there a feedback loop for both the listener and the speaker to use and is it working? It really isn’t enough that you know that someone received the message. What’s the response to your message and does it have the consequence of having received this message?  Making sure that you understand the consequence makes the message more effective.  It’s also easier to reinforce positive behavior.

We all have room for improvement and I’m always looking to improve myself.  I hope this will help you.

About the Author - Doug Lewis is a Manager of Inside Sales and Business Development for Santex.  Throughout his career, Doug has developed high value sales and business relationships for companies seeking international markets.

Outsourcing: Overcoming the cultural gap

By Eduardo Coll – Santex’ Operations Director

In the past, outsourcing was a business dynamic only related to major multinational companies. Nowadays, small and medium firms are able to take advantage of this global trend as well. The software industry is no stranger to this tendency: The traditional approach of face-to-face in-house software development has been shifted to a more virtual nature using cutting-edge communication technologies and applications such as instant messaging, teleconferencing, videoconferencing (Skype & Google hangout) and NetMeeting.

But outsourcing does not end with the sealing of a contract and letting the services run. As the business world becomes increasingly interconnected, a new problem is bound to affect the internal structure of organizations, including software factories: The success of a project is highly dependent on the quality management of the outsourcing relationship and cultural differences are one of the biggest issues that companies stand against when externalizing their projects overseas.

Outsourcing fairy tale stories have led people to think that we all live in a globalized world where distance, borders, place and time no longer matter.  However, according to a study made by Accenture in 2008, more than 60% of all outsourcing deals fail, completely or partially, mainly because of a lack of cultural compatibility between the vendor and the client. Therefore, it is critical to understand that large gaps still exist and they have a genuine impact over performance. Time Zone differences, language barriers, distance, difference in customs, diverse decision-making styles as well as occasional face to face meeting, all add up to a series of intangible challenges that companies must deal with when outsourcing.

A great example of cultural difference can be observed when applying diverse software methodologies: In India, China and Southeast Asia there may be a focus on well-defined instructions and structured processes. Work usually proceeds more comfortably in Waterfall and V-model processes. On the other hand, Latin America and Eastern European cultures are similar to that of Western Europe and the USA, may be a more conducive environment to accept the flexibility, proactiveness of Agile methodologies and direct communication.

Another example that shows the importance of the cultural gap is communication: Software development is a communication-intensive industry, especially during the requirements stage which is relied on to remove uncertainty from the process. Because of language barriers, many times conversations lose effectiveness and critical information is missed. When addressed incorrectly, the problems encountered during this phase can create further delays which impact on the project schedule.

The above mentioned facts prove the importance not only of cultural compatibility but also of cultural adaptability. In order to be successful on this global trend, companies need to develop culturally intelligence, which is a form of organizational capacity in functioning effectively in culturally diverse situations. Today, firms can no longer choose their outsourcing providers and destinations only from a cost-effective perspective; other criteria should be introduced to a company’s outsourcing strategy.

How we address the cultural gap at Santex

Outsourcing involves relying on global virtual project teams where managing across cultures is recognized to be a critical factor and a major managerial challenge that requires significant time and effort.

Initiatives for Staff: Fostering international openness  

  • Team members travel back and forth to participate in different activities and local venues from our different offices in Peru, Argentina and the US
  • Everyone at Santex take English classes twice a week with US native speakers
  • Hold monthly Tech-meetups with our offices in Lima (Perú), San Diego and Iowa (USA)
  • Team Building activities: Sport days, Santex changemakers program (volunteering group)

Initiatives for Clients: Managing expectations

  • Set realistic expectations
  • Provide internal visibility
  • Define a successful and appropriate working framework to facilitate the flow of ideas and various initiatives for maximum added value
  • Communicate effectively throughout
  • Consider a face-to-face configuration meeting to bridge the differences

About the AuthorEduardo Coll is a natural born leader. He used to be a Master Java developer for the company but his communication skills opened him a different professional path as an Operations Director.

Sources

Keys to get a job as a Junior Developer

By Lorenzo Sauchelli – PHP Developer at Santex

What makes a Junior Developer and why companies look for them?

Getting a job when you have no experience can be hard, particularly so in the field of computer science. Usually a company does not look for a ‘Junior Developer’, and not just because they lack the required coding skills to work on a project. The employer has no way of knowing if the would-be employee has the potential to grow into a Senior Developer, have the right work ethics that fit the company, or if they can carry their load on their shoulders without having to constantly ask for help.

Here at Santex we are running a Trainee Program to help junior developers in these areas. There will always be 12 junior developers in the team working on exciting internal projects. The idea is that they get real world experience, evolving into a Full-Stack Developer – basically someone that’s familiar with each layer of development, front-end, back-end, business logic, everything. At the same time, they can work on a product that can be useful for the company.

The skills required for a “Junior” position are completely different than those for a “Senior” one. When we look for Senior developers, we look for people who are not just knowledgeable, but also experienced. Junior Developers, are expected to need a guiding hand.

Another common issue is that companies have much less reliable ways to tell apart the good junior candidates from the not-so-good ones. With senior developers, we can immediately tell if they don’t fit the criteria we’re looking for. With Juniors? It’s another story. We need to discern some key aptitudes that help us detect the great candidates:

  • Life Experience. Since we can’t really measure their work experience, we need to rely on what they tell us about themselves in other areas. Accomplishments that at first glance have little to do with software development can be telltales about how they might act in our industry.
  • Humility. We’re talking about unproven developers here, so arrogant behavior raises a red flag. And not just in a ‘who do they think they are?’ way, it can be a toxic attitude that breaks teams and company culture.
  • Confidence. While this might sound contradictory when put in a list next to ‘humility’, it’s also important that the candidate shows that they’re capable. If they are afraid to speak their mind or unsure about their abilities, chances are they will never grow. Hiring them has little use for a company that’s looking to nurture them into senior developers.
  • Ambition. While a right mix of humility and confidence is necessary, if the desire to learn and grow is not there, then it’s no use. No matter how smart the candidate is, if they don’t want to learn, then they’ll never be capable of expanding their expertise.
  • Logic. Of course, to code, any developer needs a good head on their shoulders. They need to be able to think about a problem and come up with a useful solution to it. This doesn’t mean they need to know everything about the programming language they use, but they need to be able come up with creative solutions themselves. If they can’t even get past a FizzBuzz, then they’re not likely to get past the ‘Junior’ moniker.
  • Communication skills. We don’t look for people that sit all day long coding, keeping to themselves and never talk with anyone around them. We want people who talk, share and explain themselves. Communication builds teams and improves individuals.

Getting hired
Now that we know about some of the key aptitudes companies look for, we can focus on how to show these qualities to an interviewer. Remember, the company is not just looking to find out what you can actually do today, but what you might be able to do in a few months, and years.

  • Talk about what you know. It’s obvious when someone talks about something they have no idea about. People that do this are wasting the interviewers time and their chances of getting hired go down really quick.
  • If you don’t know the answer to a question, say so. Just saying “I don’t know that yet” can do the trick. It can lead to the interviewer asking the candidate to use logic to come up with an answer. This brings to light how well the candidate works under pressure.
  • Learn from as many sources as possible. Blogs, books, and github repositories help the developers to improve themselves. Remember: You don’t need to know all the corners of the programming language you’re going to work with, but you need to show that you care enough that one day you will.
  • Ask questions, and learn to ask “the right questions”. This is key for any project, since a client might want something but not clearly say exactly what. The interviewer might talk about something that assumes some background knowledge to see if the candidate will ask about it.
  • Practice, practice, practice. If you claim to love your craft, you can’t be expected to not know how to write a single line of code. You will get a coding test or two and you’re expected to solve them. Usually it’s nothing major, but if you can’t solve these, then the employer will wonder how you’d ever work in a real-world project.

Nurturing Passion: The road to the Full-Stack Developer
Okay, so you got past the interview and got yourself hired. Good for you! But it’s far from over. Your goal now should be to continue improving yourself and continue showing the qualities that got you hired in the first place.

At Santex we say “WHERE TECHNOLOGY MEETS PASSION” in big bold letters. And to make that a reality we need to nurture this passion, to help the younger developers want to become experienced. The best way to get a Full-Stack Developer is to take steps forward and grow their passion for their craft.

Passion makes perfection. If you don’t love your work, then you won’t care for it, and if you don’t care for it, it will surely suffer for it, making it of a much lower quality. And in the world we live in, quality is a great divider. Clients don’t look for companies where the only thing that’s valued is how cheap the service they give is, they look for quality – even if they don’t know they want it.

So, to get to that much requested quality clients look for, we need skilled workers. Not just skilled workers, actually, but skilled workers that love their work. People that when making a commit, feel good with themselves for a job well done.

Before in this article, I mentioned the Santex Trainee Program and for good reason. It’s a moralizing idea that helps instill this much needed passion into people. Developers don’t love what they do just because they liked writing little programs when they were kids. Managers need to trust the developers and nurture their passion by creating a great workplace. They also need to identify when someone isn’t happy with what they’re doing. This program aims to help not just the new hires get involved in the field and grow them into Full-Stack Developers, but also help Team Leaders into being actual leaders, and create an idea of team that in turn, helps future hires land on softer ground and grow much quicker.

About the Author – Lorenzo is a passionate, experienced PHP developer who is always in search of new challenges. As a high-skilled developer for Santex, he is always looking for new ways of contributing.

How to install Magento2: Create a development environment for Magento 2

By Miguel Balparda – Magento Developer at Santex

This post it’s meant to give an idea of how to create a development environment for Magento Beta 2 dev.

This post will NOT attempt to explain the requirements to use Magento 2, it is only a guide to install Magento2 dev Beta and begin to understand the new directory structure and modules. Remember that this version is not ready for production.

The time required for a complete installation is between 1 and 2 hours depending on the internet connection available.

The minimum requirements were updated between versions 1 and 2 and you may find that a server where 1 runs might not be suitable for Magento 2 without modifying versions of the server software (MySQL, Apache, PHP).

We will use a virtual machine to preinstall all the necessary components to ensure compatibility with Magento 2 without modifying the components of the real or host machine.

93% of this guide will happen in the console without making differences between operating systems.

First step is to clone the VM with

git clone https://github.com/rgranadino/mage2_vagrant.git

Then we enter the directory with

cd mage2_vagrant

to run

git submodule update --init

Magento2, Magento2 sample data and the required libs like composer are listed as submodules in the .gitmodules file.

Once we have all the dependencies installed within the same directory we run

vagrant up

to initialize and provision the VM. We deduct vagrant is installed. If not then enter https://www.vagrantup.com/.

The process is long and without user intervention. This VM is provisioned with puppet. You may find puppet manifest at Manifests/mage.pp. Once complete we must add to the hosts file of the real machine the line

192.168.56.10 mage2.dev

to tell our PC to resolve the domain mage2.dev to the IP of the virtual machine.

Once the whole process is finished we can proceed to the installation of Magento2 entering http: //mage2.dev/ or from the VM.

Personally I chose the installation via command line using

reinstall -s

from the virtual machine to install Magento with Sample data included.

In case of choosing the installation via web you need access the VM with

vagrant ssh

and run

cd /vagrant/data/magento2

composer install

to install the required packages via composer.

To read more about the installation and find all the necessary information and material visit Damian Culotta’s official website (Spanish) or visit http://magenticians.com/installing-magento-2-composer (English).

After the installation, your freshly installed Magento2 will be available at http: //mage2.dev/ and the admin will be at http://mage2.dev/admin

Dashboard access
User: admin
Password: p4ssw0rd

Some images

homepage-m2.png

category-m2.png

category-m2.png

pp-m2.png

Admin Dashboard

admin_m2.png

If you use the web interface to install, these are the accesses to the database:

Host: 127.0.0.1
User: root
Pass: mage2
DB name: mage2

About the Author – Miguel Balparda has been developing Magento for almost five years. During this time, he has witnessed the exponential growth the platform has undergone; today it is one of the largest and most popular online stores in the world. There is a great deal of documentation and resources available for both merchants and developers. It is best to start by scanning the official Magento website, where you can find resources to get in touch with the application, as well as free extensions to learn the structure of modules. Miguel can be contacted at communication@santexgroup.com

Be Green! Be a Changemaker.

By Roxana Morano

Small habits that help us build a better world for future generations.

Do you want to be a better person? Do you want to leave a better world to your children? You can save the world with your daily actions.

At Santex we encourage you to be green!

Reduce the use of resources, Re-use them as much as you can and Recycle them.

Santex is a green company, and we are Sin títuloproud of that.

Santex Changemaker Program is a global program that focuses on three main topics:

A) Recycling

B) Responsible consumption

C) Community

2

A) Recycling

Here at Santex we recycle:

Plastic:

Empty plastic bottles and bags are put into the grey container next to the kitchen. When it is full, they are taken to a big container we have installed on Velez Sarsfield Square, in front of Patio Olmos. CEIPOST Foundation takes all that plastic, process it and sells it to different companies to use it in construction, clothes, etc. This company is giving jobs to many people in Cordoba and also helps to reduce trash and improves the environment. You can find more information on www.ceipost.org.

Plastic Caps are taken to a big container in Hipermercado Libertad, to help children from a Hospital in Alta Gracia.

Technological Trash:

Batteries and technological trash are also collected here. They are taken to “Municipalidad de Cordoba”, who disarms and classifies technological trash to be re-used as part of new devices, and put batteries on safe cells to avoid contamination.

Paper and cardboard:

All paper and cardboard collected in the brown boxes are sent to Cotolengo Don Orione to help children over there.

B) Responsible consumption

Our first initiative was to educate about the use of water and paper.

We have some great stickers everywhere. Next to a water tap, where you can see: “Save Water”, just to let you know, we should not let water run unnecessarily.  Some other stickers said: “Don’t throw away too much paper!” Everything is just part of the same program.

We should reduce our consumption in order to conserve trees and drinkable water.

C) Community

We have given computers  that  are not in use anymore to low-income  school. We also have given IT lessons to children and adults through all year 2013. On 2015 we are planning to start again with a similar program.

NOT ENOUGH FOR YOU?

If all these is not enough for you, and you want to do more for the environment, here you have some ideas you can follow:

  •       Plant a tree. Even if you live in an apartment, you can plant trees in big pots on your balcony, or you can grow seedlings and gift them to friends, as I do.
  •       Grown you own vegetables and create as many plants as you can. If you don’t have enough space you can make them and give them as a gift.
  •       Make a worm farm for compost, there you can recycle organic waste. If it is made properly, it should not smell at all. You can buy Californian worms on the Internet. They are not expensive and 3work for you creating the best compost for your plants.

 

 

 

Change your habits, change your mind, change the World.

 

Roxana Morano is a Java and Python developer for Santex. As one of our volunteers, in this article she explains how we live the Santex Changemaker Program.

Mocking with Python!

By Juan Norris, Python Developer at Santex

Here at Santex, we pride ourselves on delivering high quality software, and therefore testing is a big part of our day-to-day development process.

I’m currently working on a Python project that relies heavily on mock for unit tests. A few months ago, some new members who were not familiar with the mock library joined the team. As those of you who have used it may know, mock sometimes can be unintuitive, confusing and lead to “false positives” – passing tests that are not really testing anything – but it is also very useful and powerful.

So we found ourselves in the need of a way to explain this library a little bit, and that is why these slides were created.

We started with an introduction to what mock is and why should you use it. The slides are meant to be both a starting point and some best practices, because they explain the most important classes and helpers in the library, as well as how/when to use them and the common pitfalls you may run into.

Although there is not a lot of written information and this material is composed mostly of code examples, I hope this can get you started with Mocking in Python!

See Mocking in Python Presentation!

About Juan Norris. He is a Python/Django developer with experience in JavaScript (Jquery, AJAX), MySQL and PostgreSQL. Juan is continuously learning and training to investigate new technologies.