Training decisions in the industry

Training

Training

Training and coaching people is something I have always liked. Help people learn and felt proud of teaching stuff to others. That is also one of the reasons why I maintain this blog, even when is not really viable economically speaking as I do not have enough time to put into it. I would have to also add that I have landed a couple of jobs contracts thanks “partly” to the materials of the blog.

Well going back to training; in the other hand the industry is normally NOT like academy. I am saying as in you do not normally have the same amount of time as when you are teaching a course. In the industry do not normally have a lot of time to spend training the people FULL time and they normally have to mange to learn  and results are expected ASAP.

Let say you hire someone and this someone needs to learn something new to be able to fully perform her/his duties. Or sometimes this is an existing employee that you would like to train on some new technology and similar situations. sometimes the process goes smoothly while training someone and I could share many experiences, but I am going to talk today about the people that things do not go very smoothly. I have faced 3 major problems on this regard:

Read more ›

Posted in Tips

MySQL slave master switch

MySQL Slave Master replication

MySQL Slave Master replication

MySQL slave to master switch is an operation required in a few situations. Sometimes master dies and you need to make DB available as soon as possible. In this case if the DB is reasonably big then restoring from backup might take to long. Also keep present that slave has a current copy of data, you might have new data after the last backup that you can not afford to lose. Some other common situations where you might require such a procedure is when you want to upgrade your MySQL servers. For instance from Percona 5.6 to Percona 5.7. Also this will help to avoid long downtime.

Notice: if you have classic master slave replication some downtime is unavoidable, there are different setups that can be done to achieve having a cluster that does not stop working if you take the master offline, but this is NOT the objective of this post.

this post is some what related to another recent post; Mysql DB server OS change / replacement or distro upgrade; study case

Ok, let’s stop the chitchat and let’s get some stuff done. Read more ›

Posted in Databases, Development, DNS, Linux, MySQL, Networking, Tips

Mysql DB server OS change / replacement or distro upgrade; study case

Mysql DB server OS change:

MySQL Oracle

MySQL Oracle

Mysql DB server OS change might be required in different situations, but for those who do not know what I am talking about, let me start by explaining what this is and why you might need it in some situations. Just to serve as an example; let say you are renting a few Virtial Machine Server from X IDC or cloud provider. This cloud provider gave you an a distribution that in 2013 had 4 years of support and everything was cool, you installed you systems. Now is 2017 and you need an upgrade. Let me give more details.

You are running a web environment with load balancers, web-server, and 2- Mysql DB servers Master and slave replication, etc. Your application needs High availability and you can not afford to have a lot of downtime. Your system is running fine, but last month you got a notification that the EOL (End of life) of your distribution is in 2 months. You also you noticed that your Percona MySQL DB 5.5 has a few limitations that you want to resolve by upgrading toPercona MySQL DB 5.6 or 5.7. So this is the perfect opportunity to upgrade the system and not remain with a legacy OS that will lose support soon. So now you know all you need to know and you are decided to go with progress and make a difference with the change.

MySQL: MariaDB community logo

MySQL: MariaDB community logo

You contact your provider about upgrading your system. They reply with a link (URL) to their FAQ saying that they do not support system upgrade. Then you start reading about it and notice that many virtualization services providers do not really support the upgrade. So you can not just du apt-get dist-upgrade. Not that you can not try, but you will likely not succeed, own experience here long ago when I was young and stupid. Maybe your provider supports it, but you might have grown fond of some other distribution over time and you want to change let say from Debian to Redhat or vise-versa, change of company policy, etc. So reason for wanting to change are many. Read more ›

Posted in Databases, Linux, MySQL, Networking, Tips

recursive python; copy files, directories and set ownership

Hi, today I want to post a small script to copy files and directories and add a specific owner to a folder. I did this script myself and I am fairly new to python, about 6 months of experience. If you think it should be changed or has issues, please let me know so I can improve it.
To achieve my objective I have used a few standard libraries that come already with any major python distribution (`os`, `shutil`, `pwd`, `grp`; I will talk about those in a bit more details afterwards). Then I created a function `copy_files`. This function can receive the source files path, the destination, owner and space, this parameters are used to copy the files set owner and show the results. In this function I use recursion as this is a classic recursion problem, I will come back to this further on this post. The last part of the script checks is the destination exists actually calls copy_files function. This is the code: Read more ›

Posted in Tips

ctime, mtime and atime; find command

ctime, mtime  and atime are very useful commands when dealing with time related search commands in the linux Family of operating systems.

ctime; Linux find command

ctime; Linux find command

This post is about how to use them in

a simple but yet very powerful way. Let’s get to it:

Let say you want to find all files in a folder that follow/fulfill the following criteria:

  1. the folder is /vat/lib/mysql/data
  2. The file name contains: mysql-bin.
  3. The files are younger than 2 days.

In other words find all the mysql binary log files that are not older than 2 days. Read more ›

Posted in Tips

Hosting network services services and websites basics

hostingHosting network services and websites or blogs like this one is now a days a regular task of anyone who want to conduct a successful business. This is non written a requirement for many other activities as well. If you are not an ICT professional and you have a website or need to deploy some services in your business and you wander where to store them and how. Then this article is for you.

More people than you might think want to get a server at their home or office and host their own websites and services locally. I am not 100% against this type of solutions, but the truth is the all the odds now a days are against it unless you have a particularly special need to have it locally. Let see what are the drawbacks. Read more ›

Posted in Apache, Business Automation, Databases, Development, DNS, Linux, Networking, PHP, Symfony, Tips, Windows, Wordpress

Website development projects

Having a good Website is very important for modern business, so some of the last  projects that I have been doing lately are related to website development. For instance one of them were done for Team Engineers (Pty) Ltd, Botswana. They already had a website, that needed a platform easier to edit and manage as well as a new look to certain extend and some interactive features. Team Engineers defines itself as follows.

“TEAM Engineers (PTY) Ltd. is a specialist prefabricated accommodation solutions provider. Since its establishment in 1997, TEAM has gone from strength to strength not only in capacity and knowledge, but also in diversity of the product range and our level of service.”

They are the biggest company in Botswana in the business with a very well gained reputation of great quality solutions, for diverse purposes like: accommodation, mining facilities, schools, hospitals, offices, housing, etc. Please check out the next slider for some basic details about the look of the current website.

Read more ›

Posted in CSS, Databases, Development, MySQL, PHP, Wordpress

The anti DRM day is coming

DRM Blast e-mail from defective by design:

“It’s two days before the International Day Against DRM and our community is kicking into gear. We’ll come together as a strong movement and we’ll make sure the world hears our message: Digital Restrictions Management is wrong, and we will not sit idly by while it’s imposed on us. Read more ›

Posted in Tips

Fedora Linux review & personal experience.

Fedora logo

Fedora Logo

Good day, today I am going to talk about Fedora Linux, I can not say I am a great Fedora expert. I have been following the project for a while. but I have decided to install the workstation just a few days ago. My main experience is with Debian based distros, Mint, Ubuntu. I kind of know the system, I have been working with it for around 8 years as developer, network administrator, consultant and enthusiastic. I love Linux, but redhat was never an option for me, and it’s not an option at least for server. I am going to talk about Fedora, the workstation. Fedora is a Red hat based system, well actually fedora is the testing red hat, and in any case they are the same family. I my case this is what happened.

I have a laptop ASUS X750J; it’s a very good laptop for my personal needs. It has a core i7, 6Gb or RAM, 750 HDD. The thing is, even with my experience I never managed to configure properly any of my favorite Operating Systems; as I said Debian, Mint or Ubuntu. So I started looking around for options, I decided to try Fedora 21. The experience is amazing, everything worked from the start.I did not even had to modify a single configuration.

Read more ›

Posted in Apache, Debian, Fedora, Linux, Networking

Web hosting administration software free alternative.

Hi, have engaged myself on a quest to look for an administration panel for my customers hosting. I want a good one to have it as an alternative to

Web Hosting Evaluation

Web Hosting

cPanel, the truth is that every day I like the cPanel project less and the free alternatives are getting better. So unless you are committed for some MAJOR reason to cPanel I would not recommend it any more. Use any other GLP like thing from out there, if the problem is support get better support from one of the communities. Read more ›

Posted in Apache, Bind 9, Business Automation, Databases, Debian, Development, DNS, Linux, Networking, PHP, Tips

Update multiple tables from a column; MySQL

Update multiple tables from a column is something that does not happen very often. Personally I never had to do it. I came across this question from a friend. He is programming something, and he had the following situation:

field_data_body
+----------+---------------------+
| entry_id | body_value          |
+----------+---------------------+
|  1009    | content             |
+----------+---------------------+
|  1020    |                     |
+----------+---------------------+
|  1025    | more content        |
+----------+---------------------+


i_posts
+------+---------------+
|  id  |     html      |
+------+---------------+
| 1009 |               |
+------+---------------+
| 1020 |               | 
+------+---------------+
| 1025 |               | 
+------+---------------+

From this two tables he wanted to get i_posts updated with information from field_data_body’s body_value field. In other words write this:

  Read more ›
Posted in Databases, Development, MySQL, Tips

Synchronization GLPI LDAP or Active Directory

Synchronization GLPI LDAP. GLPI is a very popular ticket (call) system. It has a lot of features that make it competitive with any other ticketing or ICT management system. Some of the features that I have configured before are here.

LDAP Active Directory Connection.

One of the many powerful features of GLPI is the integration with many forms of LDAP. Among them Windows Active Directory (AD). To integrate it you just have to supply your AD server info on the form shown on this picture.

Synchronization LDAP Active Directory

LDAP AD config

If you receive any error about not finding any configuration. You might have the PHP LDAP module missing. So make sure the module is installed.

  1. Host LDAP is the address of the server (AD or Openldap) that glpi will use.
  2. Basedn is the field that identifies the DN (Distinguished Name) where the search is starting.
  3. rootdn (For non anonymous connections): this is for the user authorized to read the Directory (AD or Ldap for example: cn=Admin,ou=People,dc=mycompany make sure not to leave spaces between nodes. This is wrong: cn=Admin, ou=People , dc…)
  4. Pass (For non anonymous connections): User password.
  5. Connection filter: To restrict the search.

Read more ›

Posted in Business Automation, Development, GLPI, Networking, OCS Inventory, Tips

LDAP linux configuration and install from source

Hi, if you want to configure LDAP (OpenLDAP) properly and you have never done it, I advise you to read a lot of

LDAP tree

LDAP tree

nonsense out there that people write on blogs like mine, before actually trying. After reading a lot of that the you can try, and let me tell you a secret, the best documentation is the one that they provide on their own website, just that sometimes that one is a bit complex to understand.

Well fist the fist, my LDAP version 2.4 never worked installing from repositories on Debian 7. How unable am I or how silly… I don’t know. Bot it did not work as it use to do with earlier versions. I was unable to set the user, password, domain and those initial things using the installer package.deb and dpkg-reconfigure. So I decided immediately that if I am losing the power of having a repository because of this nonsense, then I do not need them any more. I am going to compile the package myself from source. I tried so… but I struggled with the ./configure options. I could not fins the proper ones. and this error report thread gave me the clue to be able to follow the LDAP manual.

After reading this manual I ended up with a file that contains this: Read more ›

Posted in Databases, Debian, LDAP, Linux, Networking

Hits, visitors, challenges and achievements; Abel world

Visitors, my personal blog is more than one year now. During this time I managed to achieve a few things 🙂 and

Pic. 1 - Today's visits per country.

Pic. 1 – Today’s visits per country.

some others not so well. As an ICT professional this was my first adventure with having my own blog. I have been in the field for many years. Mainly doing other types of works. Like network administration, developing software and websites, etc. Never before I have started my own web. Never tried to maintain a my own web to make it succeed.

before starting to explain the results fist let me tell you the objectives of creating the web. When I created my blog I wanted to:

  1. Learn English by writing and being corrected by people.
  2. Create sort of a logbook of some of the work I do.

So far I have half won half lost. Let me put the list of failures first.

  1. My web is not a hit like Facebook. It would be good to have something like that and become a million-er. But it just did not happen. It was not one of my objectives and my subjects are not so general. I have not put enough time on this web. in general I did not manage.
  2. I still have a lot of English to learn, and I think I am a bit dyslectic. I am serious! I write things and I think they are fine. Then review a few times. Everything is perfect. Give it to someone to read and he finds that I made a lot of mistakes like forgetting about letters or changing them. Let say I write “in” when I wanted to write “is”. About the English improvement, if you read my fist posts you will see for your self. For instance check out this one.
  3. My website cost is payed from my own pocket, it does not pays it self yet. But soon it will.
  4. I have not been able to really put all the time I wanted in to the site.

The good things:
Read more ›

Posted in Business Automation, Development, Networking, Tips, Wordpress

Network segmentation for business

Network segmentation was created to help dividing network from each other. Wikipedia defines it as: “Network

Network Segmentetion

Network Segmentetion

segmentation in computer networking is the act or profession of splitting a computer network into sub-networks, each being a network segment or network layer. Advantages of such splitting are primarily for boosting performance and improving security.”

The applications of this are infinite in now a days business world. Let me just explain a little about my customer particular case.

I decided to write this Network segmentation post due to our last client. He is a hotel owner. The hotel has a lot of rooms. They had a network of a few staff computers plus all the customers computers. The customers access the network using WiFi. Just to serve as an example the customers were on the same network as the accounting computer. That is not a good idea. For instance the day that I was deploying the server at the hotel. I had to cut the network for a few minutes. A customer came to complain and guess what. He was an IT guy. He came saying to me things like the IP address from today is different from the one I had yesterday. I did an NSLOOKUP and it says bla,bla,bla. This guy turned to be a really nice guy, but not everyone has a good heart and intentions.

So because of an incident the owner called me to find a solution. He wanted a few more things. Here is part of a presentation we did for him. Read more ›

Posted in Debian, Development, DNS, LDAP, Linux, Networking

GLPI ticket system & Inventory solution a very viable solution

GLPI TEAM solution

Team work organization solutions with GLPI

Have a problem to organize team work? have problem to document and follow performance? You do not have satisfactory the statistics about the work done! Have you ever had problems to find simple reports like who is the best worker of the month? Have problems planning resources for the department? Do not know how many computers and other equipment are in the network?

You can use GLPI to solve all those problems. I have a few years of experience maintaining these type of servers for different environment and customer needs. lso I decided to write this post and share some of the things that you can get with GLPI. The main features of GLPI are:

 

  • Inventory of computers, peripherals, network printers and associated components through an interface with OCS Inventory or FusionInventory.
  • Management of issues on many environments through creation of tickets, management of tickets, assignment, tickets scheduling, etc.
  • Licenses management (ITIL compliant)
  • Assignment of equipment by geographical area to users and groups
  • Management of business and financial information (purchase, guarantee and extension, damping)
  • Equipment status management
  • Management of applications for assistance of all types of equipment inventory
  • Interface to allow the user to file a support ticket
  • Business management, contracts, documents related to inventory items
  • Equipment booking
  • Management of a Frequently-Asked Questions (FAQ).
  • Report generator: hardware, network or interventions (support).
  • Multilingual support with 45 languages available.

Read more ›

Posted in Business Automation, CSS, Databases, Debian, Development, GLPI, Linux, MySQL, Networking, OCS Inventory, PHP, Windows

Git client configuration for a local server.

Gitlab Logo

Gitlab Logo

Configuring a git client can be painful sometimes if you are a beginner. I struggled the first time I configured git too. So I am creating this material for others like me to be able to configure git. I hope it works for you. Git is now a days one of the most popular versioning systems. I use git since a few months ago to keep my Symfony 2 projects update.

 

 

Configure gitclient with you User name:

git config --global user.name "Abel Guzman"

Read more ›

Posted in Development, Linux, Tips, Windows

Squid proxy server working example Debian GNU Linux

Hello guys, this is post is about an squid working example. The version of the squid that I am running is

2.7 stable. you can check it out running:

[email protected]:~# squid -v
Squid Cache: Version 2.7.STABLE9
configure options:  (...)
[email protected]:~#
Squid 3 error page

Squid 3 error page

Note: Uprated on november 25, 2015

This post is part of a bigger Debian material that you can access here. If you need to know first the basics about squid configuration, you can check out here.

Now, the network that I have configured the proxy for. Is a 300 PC network with the following range 10.175.0.0/23 (net mask 255.255.254.0). The IP address of the proxy is 10.175.0.1. My proxy uses a few father proxies. Read more ›

Posted in Debian, Linux, Networking, Proxy, Squid

Squid3 proxy with Linux debian jessie 8.

squid3 logo

squid3 logo

Squid3 proxy server is the subject of this post, along this writing I am going to show you how to install and configure this proxy server. For more information you can visit this URL; the official website of the project. My system is a Debian jessie 8.

This post is part of a bigger Linux and Debian basic administration material that you can access here. I have also described a squid 2.7 working configuration here. Squid 2.7 is a bit different from squid3 but they are configured basically the same way except for a few new directives and some other changes and deprecations. Let’s play then.

Installing squid3 is simple: Read more ›

Posted in Debian, Linux, Networking, Proxy, Squid

VirtualBox Virtual machine in Linux- Class 7

Virtualbox is today’s posts subject . We will talk about virtualization and how to virtualize a box using Virtualbox. To start we need to know what is virtualization and its advantages.

virtualbox logo

virtualbox logo

Virtualization, in computing, refers to the act of creating a virtual (rather than actual) version of something, including but not limited to a virtual computer hardware platform, operating system (OS), storage device, or computer network resources.

Taken from: http://en.wikipedia.org/wiki/Virtualization on 2014-04-22.

This post is part of a bigger Debian material that you can access here. Read more ›

Posted in Apache, Debian, Development, Linux, Networking