Hacktoberfest 2019 swag arrived!

Today! I am very happy not because I got my hactoberfest swag, I am happy because my friends got their first achievement as a hactoberfest swag. ๐Ÿ™‚

In the morning around 11:00 am, my friend Nishtha called me and said I got my swag, she was full of happiness and thanking me a lot.

Then, after half an hour around 11:30 am my friend Sunaina called me and said I got my swag, again she was full of happiness and thanking me a lot.

First time I felt that I am also important for someone. As I advised this time to my all friends to participate in the open-source contest hactoberfest. I guided them as I can and tried my best.

Last year, only I participated in the hactoberfest and I got my swag. But, this time I thought about to share this with my class friends. Sometimes, this type of prizes motivated us in our future field.

They didn’t know about what is git? How to contribute to open-source? How the project works? How the community review the code?

But, by this contest, they all are now able to contribute to open-source. ๐Ÿ™‚

I think to guide someone is the second step in the success stairs!!! I can’t express the feeling when they both were thanking me. I was like really I did something really good in my life. ๐Ÿ™‚

I got my swags around 1:00 pm today. Below are some pictures:

WhatsApp Image 2019-11-21 at 1.47.45 PM(1)WhatsApp Image 2019-11-21 at 1.47.45 PMWhatsApp Image 2019-11-21 at 1.47.46 PM



Django Day 1

From the 1 month, I was not writing my blogs as I was busy in my college schedule. And some good news I have received in this months that were, I received my final payment from the Outreachy. My mentor allows me to attend the FOSDEM conference which will be held on 1 – 2 Feb 2019 in Brussels, Belgium and sends me the parcel of Haiku CDs. I got the GoogleCloud swags from Google. I have completed the 30DaysOnGCP contest. Then, I was having my exams and so on basic college stuff. uffff!!!!!

Today I decided the Web Technology Lab project which we have to show to our lab instructors at the end of the semester. My brother advised me to use Django and then, I got permission from my teacher and now, started working on it.

Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design. Built by experienced developers, it takes care of much of the hassle of Web development, so you can focus on writing your app without needing to reinvent the wheel. Itโ€™s free and open source.

I am following the tutorial given below to start from the basics about Django:


In this first, we have to make sure that the python and Django are installed in our machine. In this tutorial, we are creating the first poll app using Django. Poll app means

Creation of a basic poll application will consist of two parts: A public site that lets people view polls and vote in them. An admin site that lets you add, change, and delete polls.

To start the project go to the directory where you fetched the Django repository and run the following command:

django-admin startproject mysite

In the above command mysite is the name of the project.

After this what the above command will do?

It will create the structure of files like this:


Here, the manage.py is the command-line utility that lets you interact with this Django project in various ways.

mysite/__init__.py: An empty file that tells Python that this directory should be considered a Python package.

mysite/settings.py: Settings/configuration for this Django project.

mysite/urls.py: The URL declarations for this Django project; a โ€œtable of contentsโ€ of your Django-powered site.

mysite/wsgi.py: An entry-point for WSGI-compatible web servers to serve your project.

This is all about I have done today.ย  Just a little bit because now, I have to prepare my lab files as I have lab test tomorrow. To be continued…… ๐Ÿ™‚


This slideshow requires JavaScript.

My Outreachy journey

Today 20 August 2019, I completed my Outreachy internship. ๐Ÿ™‚

From the last year, when I came to know about the Outreachy it becomes my dream and yes, finally I achieved it. These three months changed my life. It made me more confident. It was the best experience I have ever experienced.

I was very disappointed by myself before Outreachy because I didn’t find my interest and not doing the great things, just wasting my time here and there. But, when I got selected I start utilizing my time in the work. Seriously, I love my project a lot. ๐Ÿ™‚

And planned to work with Haiku after the internship.

I want to thanks Outreachy and my mentor who selected me and help me to show my skills. ๐Ÿ™‚

In the starting of my project, I take time to do the things properly and sometimes stuck in the code also, but PulkoMandy always helps me to overcome the problem. Then, as time flies, in the middle of the internship, I was able to do the things properly and slowly understand how to write the code like the good programmer.

Today, my code gets merged and feeling awesome. ๐Ÿ™‚ Before Outreachy I was just making small projects but now, I feel very confident and able to work in large projects.

Now, my next dream is to attend the conference and give a presentation there.

I started the Outreachy application process after praying to god. If the god is with us we can do everything we want.

At the end of the blog, I thank you my mentor and the Outreachy. ๐Ÿ™‚

Hope so you like it!!


Progress report of Outreachy project

My first evaluation was merged on 23 July 2019 ๐Ÿ™‚


This commit includes the preferences of the mouse and the touchpad. The second evaluation is on its way. I have added the keyboard settings also but there are some errors which I am trying to resolve.

Commit link:


In the meanwhile, I am working on the connected devices also that I have discussed in the previous blogs. I have done this as I understand but there are also some issues and working on them.

Commit link:


Today, in the Lab I was reading about the Haiku and I came to know about many things.

In my first presentation of the 6 weeks training, there were so many questions asked to me but I was unable to answer those questions in well mannered.

Let’s talk about them in this blog.

What is Haiku OS?

Haiku is an open-source operating system that specifically targets personal computing. When I gave this answer then the question arises what do you mean by personal computing?

Personal Computer: A personal computer (PC) is a multi-purpose computer whose size, capabilities, and price make it feasible for individual use.

Is Linux or other Operating Systems like MS Windows is not used for personal computing?

The other operating systems are also used for both personal and server computing. The server is part of the clientโ€“server model. In this model, a server serves data for clients. For example, if files on a device are shared by some process, that process is a file server. Similarly, web server software can run on any capable computer, and so a laptop or a personal computer can host a web server. Mostly Red Hat, Oracle, IBM (International Business Machines) use Linux for server computing and the Linux take the fund from there. As a result, the Linux kernel gets much tweaking and tuning for that, it is very good at network.

If we talk about the Mac and the Microsoft Windows may be they switch their efforts to phones at some point. If we talk about the Apple and Microsoft Windows they focused on the phones more as compare to laptops. There is no issue but now there we are talking about the personal computing. Haiku developers doesn’t want to shift it in any mode. They are just focusing on the personal computing.

Some benefits of Haiku:

Imagine starting up a full-featured Fedora distribution with the speed of a simple Gee X box Linux distribution. In Virtual Box, with 512 RAM base memory and a CPU of 1,83GHz, Haiku boots in exactly ten seconds from the boot loader menu to a ready to be used desktop. Shutting down the operating system takes a full three seconds on the same virtual machine.

As if we compare it with the Microsoft Windows, it also starts and shows the display in few seconds, but it didn’t becomes smooth instantly after starting. For example when we start the game or any other application they didn’t work smoothly because in Microsoft Windows it download its application after starting its display. So that the user can use it without any delay.

Linux takes some time while starting because I downloads its applications while starting the boot loader.

But, In Haiku it only takes 10 seconds to start and shutdown. Its also the beneficial feature of haiku as compare to Linux and Microsoft Windows.

Now, suppose if we want to use the two keyboards in the Linux then, we have to use the “X Input” extension that manages multiple input devices, we can use the xinput command line tool to configure them, and can also assign them to different “seats” (combinations of keyboard/monitor) or use them alternatively with one monitor.

xinput is a utility to configure and test X input devices, such as mouses, keyboards, and touchpads. It is found in the xorg-xinput package.

But, in Haiku we can use two keyboards or more at a same time without any assignment of seats.

Linux is designed (with separate team working on kernel, various desktop environments, C library, etc) means there will always be dozens of distributions, and even if two persons use the same distribution, their computers will be configured differently. For example: If we are downloading the package in the laptop and it doesn’t have the configuration that are required by the package, then there are some possibilities for issues and make it a nightmare for application developers. At the time when the developer has to check all the possible cases.

In Haiku, there is no issue possible as in Linux. Haiku runs the same application on diffferent configured computers also without any nightmare as same as the Macbook but, its not open source. :p

As now, we moved to the history of the Haiku, Gassee (Jean-Louis Gassรฉe is a business executive. He is best known as a former executive at Apple Computer, where he worked from 1981 to 1990. He also founded Be Inc., creators of the BeOS computer operating system. After leaving Be, he became Chairman of PalmSource, Inc. in November 2004) wanted to create a new operating system from the ground up. BeOS was created with digital media work in mind and was designed to take advantage of the most modern hardware of the time. Originally, Be Inc attempted to create their own platform encompassing both hardware and software. The result was called the BeBox(The BeBox is a dual CPU personal computer, briefly sold by Be Inc. to run the company’s own operating system, BeOS. ). After BeBox failed to sell well, Be turned their attention to BeOS.

In the 1990s, Apple was looking for a new operating system to replace the aging Classic Mac OS. Gassee wanted $300 million. Apple was unwilling to offer any more than $125 million. In the end, Apple went with NeXTSTEP.

This was all I have learnt about Haiku.

Hope so you like it ๐Ÿ™‚










Outreachy week 9 Theme: Career Opportunities

Aim of life:

I want to become a successful Software Engineer. I am learning C++ from the past 1 years.


FreeCAD – Programming in Python

After gaining sufficient knowledge about FreeCAD and Python, rather doing from UI, I wrote Python scripts to generate 3D models and 2D drawings. It was really fun to work on those scripts. I made a table, a concrete mixer drum and bishop model through Python programming.

GitHub repositories


Blog posts


A small project in Flutter (using Dart)

I made a simple cross-platform calculator application using Flutter, an open-source, powerful, hybrid mobile application framework by Google. Flutter is written Dart, therefore, through this simple project, I got great exposure to how to develop apps in Dart.

Blog post: https://preetpalk.wordpress.com/2019/02/04/flutter-build-beautiful-native-apps-on-ios-and-android-from-a-single-codebase/

Python and Common Gateway Interface (CGI)

I used the Common Gateway Interface (CGI) along with Python to execute Python programs on the web browser. I made a quiz program, table and the area program (which finds the area of circle, square). All these programs take user input through HTML forms and pass further to Python programs on the server which return the results back to the browser.



Further, I also worked on PyQt which is used to make user interfaces, to develop a dead simple dialog box using Python.

Blog post: https://preetpalk.wordpress.com/2019/01/14/pyqt5/


Now, I am working with the Haiku Organization. The name of the project is to Unify the input preferences (mouse, touchpad, keyboard, keymap). The aim of this project is purely related to the user interface.


Currently pursuing B. Tech (2017 – 2021), Computer Science and Engineering, Guru Nanak Dev Engineering College, Ludhiana, Punjab, India
Higher Secondary Education (2017), Baba Isher Singh(Nanaksar) Public School Punjab, India

Matriculationย (2015),ย  Baba Isher Singh(Nanaksar) Public School Punjab, India

Language: English, Punjabi, Hindi


Technology I worked in: C++, CGI, shell scripting, WordPress, HTML, CSS.
Tools: nano editor, git, QtCreator, Sublime, Visual Studio Code.

Job Opportunity:

I am a student till 2021, I will work for part-time if I will get a job. I am available for 4 hours per day and 8 hours on weekends.

Always share your knowledge

Yesterday, suddenly so may friend requests are coming on my LinkedIn. There is one follower from Gujarat and her name is Jahnvi. She is a Computer Science student. She messaged me about the application process of Outreachy. She was very nervous or we say excitedly to take part in the Outreachy in the next time. That’s why she contacted me through my LinkedIn profile which I was mentioned in the Outreachy alums profile. I was very happy because I was also in the same situation as the Jahnvi now. Before 6 months ago I also tried to contact with the past Outreachy alums but no one reply me back don’t know why ๐Ÿ˜ฆ

Then, after 2 months of my message, one girl replies to me who’s name is Kate. She guided me a little bit. I was also happy while reading his reply.

But, I reply to Jahnvi as possible as fast. Because I don’t want that she wait for my reply as I was waiting 6 months ago.

Then, I try my best to guide her properly. ๐Ÿ™‚ I was very happy while replying to her mail.

So many students in the class underestimated me sometimes. But now, they reach me out and start a discussion about the valuable things like ideas about their projects their skills. But some students are jealous also :p Lolz!!

No doubt, When I was trying to be the part of Outreachy I adviced all the girls in my class but, they all made me fool. No one take it seriously.

Time passes now, they reached to me ask for help about the Outreachy process. Lolzzz!!

Moral: Do not underestimate the determination of a quiet man. ๐Ÿ™‚




Squash the commits with the same Change-Id or ensure Change-Ids are unique for each commit)

Today I while sending the commit on Gerrit. I used the commit “git log -p” to see the extra spaces in the code. Solving the space issues I added the files again but forget to amend that changes in the same change-Id. After adding all the files when I saw on the Gerrit page there were 4 commits with the same name. Then, I abandoned the other 3 commits which were added by mistake. Then, when I added the next file and amend it in the same change-Id, I got the error below:

“Squash the commits with the same Change-Id or ensure Change-Ids are unique for each commit)”

Which means thatย  I pushed the 3 commits with the same change-Id. Oops!!!!!

Then, I search on the internet and got the solution for this. For a while I was scared what will I do now???? ๐Ÿ˜ฆ

Error message:



Use the command “git log” which will give you the information regarding the commits.


To squash the commit uses the command below:

git rebase -i

But, I used the command, because I want to squash the second commit.

git rebase -i HEAD~2

because I want to squash the second commit that’s why I used HEAD~2.

It will squash (crush or squeeze with force) the commit with the same change-Id, and now we are able to amend the commit message and push the code to Gerrit.

For more information refer the link below:




Started working on Padblocker

Yesterday the result was announced and I cleared all the exams with very good marks. ๐Ÿ™‚

Also yesterday and tomorrow, I just resolved all the issues that were mentioned by the reviewers on Gerrit.

Now, I start working on the padblocker. It is the new enhancement ticket in which,

We have to add the mouse down filter in the touchpad preferences. Sometimes, while typing we accidently create the mouse clicks on the touchpad or in some case while typing our cursor goes on another line and we came to know later.

In the BeOS, there is the input_filter which will prevent us from this kind of situation.

The work is started by the Oishika which was also participated in the Outreachy. Now, I will continue her work and try to finish it quickly. I understand the code from her commits on Gerrit.ย  But, I want to go through it one more time. Tomorrow, I will start making changes on it. ๐Ÿ™‚

Received the first payment from Outreachy

Today I received my first payment from Outreachy. I was full of happiness when my father calls me and said congratulations!!!! your money received. All family members are very happy. They congrats to me and start giving blessings.

The first time I went to the bank to withdraw some money. Then, I went to the shop for buying Rumala Sahib. Then, I went to the Sikh Temple (Sri Alamgir Sahib) to say thank you to god for this opportunity in my life. Then, I celebrated this good news with my family.

But, now I came to know that the result is declared by tomorrow. Start feeling worried now. I got the marks according to what I have written in the exam. Still, the worrying feeling comes. ๐Ÿ˜ฆ

Hope so everyone will clear their exams with good marks. ๐Ÿ™‚

Create a free website or blog at WordPress.com.

Up ↑