;


Contribution graph of a so-called expert programmer.

Silly idea, but if densely packed green colored squares on your GitHub contribution graph are any indication of your programming ability. Then, I should be also considered an expert programmer.



Did I score a magic lamp?

A big noooooooooooooooooooooo………..

Instead of finding Genie, I stumbled upon the Paint GitHub site. This site lets you to of course paint your GitHub contribution graph and fills the graph with greenery.

How to paint your GitHub contribution graph?


Step 1: Goto Paint GitHub site.

Homepage of Paint GitHub

Step 2: Click on Sign in with Github.

A popup window will appear after this step.
The popup that appears after following step 2

Step 3: Click on Authorize andulen. 
Programming experience selector
Step 4: Choose an option from NOVICE to EXPERT and then click on SUBMIT.
I have selected the INTERMEDIATE option. 

Email form
Step 5: Enter your email address and click on YES.
This email address is where you will receive an update when your painting is complete.

Step 6: Sit back and relax while waiting for the email. 

Email from Paint GitHub
Step 7: VoilĂ , it is done.

Visit your GitHub profile.

Contribution graph of an intermediate programmer.

But mom, I am not a liar.



Let me guess, you followed the above steps and experienced what it is like to be an expert programmer without any coding. But, now you want to become an honest programmer. Let me help you to get rid of your fake but real contribution graph.

Step 1: Locate your repositories.
My GitHub Repos.
Step 2: Click on the repo that starts with the name paintgithub-…...
Repo details page.
Step 3: Click on Settings.
Scroll down to the bottom of the settings page.
Repo settings.
Step 4: Click on Delete this repository option.
Repository deletion confirmation dialog.
Step 5: Follow the given instructions and delete the repository.


Step 6: You are finally clean now.
Contribution graph of a noob programmer

But, where is the real painting?

Paint GitHub site also lets you paint drawings and texts on your contribution graph. Just pick a color from the color panel on the right and click on boxes to paint them. You can get creative as you want and decorate your GitHub contribution graph.
Paint example
And click on submit button.
Paint result on GitHub
The painting appears on your GitHub account after the above step. You can delete this painting by simply deleting the repository by following the steps given in the above section.

And a big shoutout to GitHub user anduleh for creating this wonderful tool.



What is the MERN stack?

MERN stack combines four key technologies: MongoDB, Express, React, and Node.js.
  • MongoDB: It is a document-based database that stores data in JSON-like documents.
  • Express.js: It is a web application framework that enables the creation of varieties of server-side applications and tools using JavaScript language.
  • React.js: It is a front-end library used for developing user interfaces.
  • Node.js: It is a back-end JavaScript runtime environment that enables the execution of JavaScript code outside of the web browser.

Advantages of using MERN stack.

  • Enables development of all web application development from backend to frontend only using a single language.
  • It is developed and supported by a huge open-source community.
  • Supports model, view, and controller (MVC) architecture for smooth and rapid development.
  • The developer only needs to know the JavaScript language.
  • It also supports the creation of a multiplatform mobile application by using a react-native library.

Top free resources to learn MERN full-stack web development.

1. The Odin Project

The Odin Project

The Odin Project is an online open-source programming course founded in 2013 by Erik Trautman. This course provides a complete path for beginner students to become full-stack web developers. It has 1000 hours of content related to programming that provides students with enough practice and knowledge to be hired as web developers. This course provides two paths. The student starts by enrolling in the foundations course at the beginning of each path. After completing the foundation course the student can either follow the full-stack path with Ruby on Rails (RoR) or JavaScript(MERN). The students also learn version control using git in both paths that prepare them for collaborative development in the future.

2. Full Stack Open

Full Stack Open

This is an online course provided by the Department of Computer Science of the University of Helsinki. This course provides students with the knowledge to build modern web applications using JavaScript. The main objective behind this course is to help the students to learn to code modern single page applications with React.js that consume REST APIs built with Node.js. This course also includes a chapter on GraphQL an alternative to REST APIs. This course also provides students with a certificate after completion of the course.

3. freeCodeCamp

freeCodeCamp

freeCodeCamp is a nonprofit community that helps learns to code by building projects. It was founded by Quincy Larson and is now backed by donations and managed by the open-source community. It is an interactive course where students learn by reading and completing interactive coding challenges. The course is divided into various sections. The students receive a certificate after completing each section. I personally have used freeCodeCamp to develop a career in full-stack web development.

4. MDN Web Docs by Mozilla

MDN docs


While this may sound unconventional, but learning resources provided by Mozilla Developer Network are excellent resources for getting started into full-stack development using MERN. This resource is not a full course but can be used as an alternative material for learning the MERN stack. It is also built and supported by the open-source community.

Personal thoughts and recommendations

While most of the above course contains all the resources to make you a proficient MERN stack developer, they also contain extra lessons that are not required to become a MERN stack developer. So I suggest you go through these frontends and backend roadmaps and follow the path according to the career you want to pursue.

If you are learning High-Performance Computing(HPC), you might have come across Compute Unified Device Architecture(CUDA). CUDA is a proprietary technology developed by Nvidia Corporation for GPU computing. To use the CUDA framework for programming you need to have access to CUDA capable Nvidia GPU. If you do not have access to such GPU, you either have to rent such GPU on cloud platforms like Azure, AWS, and Google cloud or you can use free services like Google Colaboratory to run your CUDA C/C++ programs.  In this article, we will show simple steps to run CUDA C/C++ programs on Google Colab notebook.

 Requirements:
  • You will need to have a Google account to access Google colab.
  • Internet
Step 1: Go to Google colab and click on New Notebook.

Google colab project selection page.

Step 2: Click on the Runtime menu and then select the Change runtime type option.

Runtime menu. 

Step 3:  Set the Hardware accelerator option to GPU.

Hardware accelerator selection menu.

Step 4: Run the following commands.

Note: Each command should be executed on a different cell.

Step 5: Now paste/write your code in a new cell and run the cell to execute your code.

Note: You have to add ‘%%cu’ at the first line of your cell where your C/C++ code is written.

C program running on Colab.


In this way, we can easily run CUDA C/C++ programs on Google colab for free. Hope, this article will help in your programming journey.