Want to make a career out of programming in 30 days?

Want to make a career out of programming in 30 days? Here are the things you need to know and the path you need to follow.

What are Computer Programming Languages?

Programming languages are just like human based languages, they are a set of languages that humans can use to communicate to computers, the portion of the language that computer understands is called a binary when the commands given to computer is translated to binary is called compiling, every language that exists taking the example of python to C have their own unique features although some times there are things that are in common.

These languages that are a piece of machine intelligence allows computers to process large and complex bulk of information in no time for example, if a person is given a list of random human names and is asked to place them in alphabetical order, chances are that it will take a good amount of time and will include number of errors.

MAKING A CAREER OUT OF PROGRAMMING LANGUAGES:

Programmers are a type of architects, digital architects you can say to be precise who give their time and effort to create new and amazing technologies and it is a fantastic profession, and you have probably found yourself thinking, sitting on your couch, wondering how to become a programmer.

Take a deep breath and give it a thought about all the online things you have done today like all tech-savvy people out there, you have probably checked your emails, scrolled through your social media and browsed through your favorite websites, but have you ever imagined that the virtual world that you visit every day and go by in seconds is the result of hours long full of fatigue programming work.

Programming is a fantastic career path with great potential for growth, especially since so much of our lives are now lived online and here are some statistics to prove you that

The Bureau of Labor Statistics reports that the profession will grow by a full 13 percent between 2018 and 2028 twice the average rate of growth expected for all other occupations. 

According to PayScale, the majority of programmers feel happy about their success, confident in their skills, and secure about their financial futures; the profession enjoys a 4.5 ranking (out of 5) for satisfaction.

Perhaps you also wish to be a part of this community. If yes, here are the 5 steps you can follow in becoming a successful programmer:

  1. Decide Which Industry You are Interested In
  2. Identify the Languages You Need to Learn
  3. Start Learning Independently
  4. Start Your Own Projects
  5. Begin Looking for Jobs

Top 10 programming languages:

1. Python

 Python is greatly regarded as a programming language that is easy to learn, due to its simple syntax, and a toolkit, in fact, it’s the first language that many students learn in the field of programming.

2. JavaScript

JavaScript is the most popular programming language for building interactive websites.

3. Java

Java is the programming language most commonly linked with the development of client-server applications, which are used by large businesses with masses of data around the world.

4. C#

 Microsoft developed C# as a faster and more secure variant of C. It is fully combined with Microsoft’s .NET software framework, which supports the development of applications for Windows, browser plug-ins, and mobile devices.

5. C

 Along with Python and Java, C forms a “good foundation” for learning how to program, As one of the first programming languages ever developed, C has served as the foundation for writing more modern languages such as Python, Ruby, and PHP.

6. C++

 C++ is an extension of C that works well for programming the systems that run applications, as opposed to the applications themselves. C++ also works well for multi-device and multi-platform systems. Over time, programmers have written a large set of libraries and compilers for C++.

7. Go

Also referred to as Golang, Go was developed by Google to be an efficient, readable, and secure language for system-level programming. It works well for distributed systems, in which systems are located on different networks and need to communicate by sending messages to each other. While it is a relatively new language, Go has a large standards library and is taking over the market rapidly.

8. R

R is heavily used in statistical analytics and machine learning applications. The language is extensible and runs on many operating systems. Many large companies have adopted R in order to analyze their massive data sets, so programmers who know R are in great demand. 

9. Swift

Swift is Apple’s language for developing applications for Mac computers and Apple’s mobile devices, including the iPhone, iPad, and Apple Watch. Like many modern programming languages, Swift has a highly readable syntax, runs code quickly.

10. PHPs

PHP is widely used for server-side web development, when a website frequently requests information from a server.

Mark parent category menu active on single custom post view in WordPress

Recently I developed a theme for one of my client and I had to highlight the menu item of parent category in main menu when one of its associated single custom post is viewed. For that I had to add an action in my functions.php file for nav_menu_css_class. What is does is it returns the ‘active’ class which WordPress adds to the parent category menu item in the main menu. You can see the code at Gist here.

Why we moved from OpenShift to Google Cloud

The good old days

When OpenShift was in its version 1 it was great from customer’s point of view with low budget. OpenShift v1 had free offers to deploy app and add a custom domain to it. There was no SSL support but it could be handled via CloudFlare solution, making overall solution a great one.

Then there comes OpenShift v2

RedHat then launched OpenShift v2 and added a restriction that gears will be shutdown after certain period of inactivity and also removed the support for custom domain.

That was the time that we had to move to some other cloud platform that could support our apps with low resources and without investing anything.

Since all good things in life are free.

Google Cloud to the rescue

So we came across Google Cloud platform offering and we had $300 credit in free trial for next 6 months. That was more than enough for us to start with. And in fact they have micro virtual machine instances that are free for life with 30gb storage. That is more than enough for small apps to run for free that are under experiments or don’t have any monetization plans.

So, we migrated several of our apps from OpenShift to Google Cloud and started leveraging free credits provided by Google.

Just this week we consumed all our credit and our trial expired. Our virtual machine instances were shutdown, but it didn’t take long that we enabled billing on our project and downgraded our instances to micro ones which is free. That gave us such a relief that our apps are still running although with low resources but it is fine as that are not our revenue generating apps and are just experiments.

Displaying Titles in Multiline in WordPress

When title is written it is usually displayed in single line on front-end until it is too long to display in one line. But if you want to write title in multiline and want to line break the title after a certain word how can you do that.

It is pretty simple. Since, we know the fact that when title is displayed it is a heading which is displayed using HTML tag off course. So, taking benefit of HTML we can just insert a HTML line break element <br/> just after the word in our title where we want the line break. Like this:

“This is my title <br/> with my own line break”

multilinetitleinwordpress.png

This will be displayed in two lines when you publish the post.

Different color for each menu item

In a recent project I got a requirement that each menu item should be highlighted in different color when visited. The menu items and their required active colors were:

  • Home – Green
  • Portfolio – Blue
  • Team – Yellow
  • Contact – Red

These colors were to be applied only when that page is being visited otherwise color of menu item should be default black color.

So, if user is visiting home page then menu item should something like this

home_menu.png

And if user is visiting Portfolio page then menu should be something like this

portoflio_menu.png

Considering that this was a WordPress theme project where we were using Understrap as a base theme which is based on Twitter Bootstrap. So, when user visits, for example a home page WordPress will attach a .active CSS class to it. Taking advantage of that we added different classes for each menu item and then used following rule to make menu item colors different:

.navbar-nav > .home.active > a {
    color: green!important;
}
.navbar-nav > .portfolio.active > a {
    color: blue!important;
}
.navbar-nav > .team.active > a {
    color: yellow!important;
}
.navbar-nav > .connect.active > a {
    color: red!important;
}

CSS Class Chaining

We utilized the class chaining method here. If you note that .home.active classes are chained together without space and which means it will select an element with both these classes.
That did the trick and all menu items were in different color.

 

Rollover image – Change image on hover/mouse over

Often when designing websites static or dynamic, PHP or ASP.Net, Laravel or WordPress, you have to design in a way if user hovers an image it gets changed and an alternate image is displayed. This can be easily achieved via simple HTML events. Here is the trick:

<img src="FIRST IMAGE URL GOES HERE"
onmouseover="this.src='SECOND IMAGE URL GOES HERE'"
onmouseout="this.src='FIRST IMAGE URL GOES HERE - AGAIN'" />

It is simple as that.

Sharing data between Laravel and Angular

When building applications with Laravel and Angular you might come across a problem where you want to print data using AngularJS brackets {{}} but before it can be parsed by AngularJS, Laravel blade engine parses it and tries to replace the value if it finds one. Otherwise Laravel will start complaining about the variables. To solve that you just need to prepend brackets with @ sign so blade engine knows that you just need to ignore this expression and AngularJS will take care of it. And AngularJS will parse it and replace the variables with actual data.

Below is a sample snippet to do this:

@{{ article.body }}

In this snippet Laravel blade engine will ignore this and AngularJS will parse it and replace it with article.body data it has.

Laravel: Specified key was too long error on migration

When you install a new Laravel project with ‘laravel new’ and run the migration that comes with it you might get following error:

#php artisan migrate
Migration table created successfully.


 [Illuminate\Database\QueryException]
 SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes (SQL: alter table `users` add unique `users_email_unique`(`email`))

[PDOException]
 SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes

To solve this error edit your app/Providers/AppServiceProvider.php file.

Add the namespace:

use Illuminate\Support\Facades\Schema;

and then add the following line in boot() method of your AppServiceProvider class.

use Illuminate\Support\Facades\Schema;

class AppServiceProvider extends ServiceProvider
{
 /**
 * Bootstrap any application services.
 *
 * @return void
 */
 public function boot()
 {
   Schema::defaultStringLength(191);
 } 
}

This should solve your problem. Just delete all the tables and run the migration again.

Setup CodeIgniter Docker container for development

Docker

Docker is the world’s leading software container platform. Developers use Docker to eliminate “works on my machine” problems when collaborating on code with co-workers. Operators use Docker to run and manage apps side-by-side in isolated containers to get better compute density. Enterprises use Docker to build agile software delivery pipelines to ship new features faster, more securely and with confidence for both Linux and Windows Server apps. If you want to learn more about Docker head to their What is Docker section here.

CodeIgniter

CodeIgniter is a powerful PHP framework with a very small footprint, built for developers who need a simple and elegant toolkit to create full-featured web applications. If you want to learn more then head to their official website that has great documentation as well at https://codeigniter.com/

CodeIgniter on Docker

If you’re excited about using Docker for your development and you are working on a CodeIgniter (CI) based PHP project then you are lucky. It is very easy to setup CI based project with Docker. Just follow the instructions below to setup a fresh CI project with Docker.

docker-compose up -d

It will spin up two containers. One for app itself with Nginx and another for MariaDB for your DB. App container will create a directory in your project folder and install CodeIgniter in it.

Now browse http://localhost:8000 in your browser and you’ll see the CodeIgniter page. It’s that easy.