Life of a Systems Engineer


 

Hello, my dear readers. ✌😀✋

I'm talking to you after a very long time. And I am thrilled to talk-to and hear-from you after all this time. 

Today is the 22nd of October 2023. I started this blog as an Engineering undergraduate at General Sir John Kotelawala Defence University (KDU) in 2016. 

As I remember my last post was published in 2018 about an Arduino GSM Module. I started this blog as a self-learning experience for myself as well as for the purpose of teaching you all about programming languages in relation to the programming modules we had at KDU.

In this blog, we talked about Fundamentals of Computer Programming using C++ language. Also, we talked about bigger programming paradigms such as Object Oriented Programming as well. I really enjoyed teaching you about these subjects. I hope you all enjoyed my posts as well. 

I am writing to you after 5 long years of silence. What happened during the past 5 years? I am eager to know how it went for you all. 

Here I will talk to you about what happened in my life during the past 5 years! 

#LIFE_UPDATES_FROM_YOURS_TRULY

First of all, Whew! 😅 What an Interesting set of years (Half a decade) we passed, Right?

We faced a Global Pandemic for the first time in our lives. We had to wear face masks for more than a Year. Most of the Human population was vaccinated. Then came a recession. Sri Lanka had a Power crisis, a Fuel Crisis as well, and a Lack of essential items. Political crisis and government changes.  Another side of the world they started a world war.

Whew! ðŸ˜… What a roller coaster ride are we going through am I right? More like Aaahhhhgggg!!! (Imitation of the Noise that I make when riding an actual roller coaster xD) 

Anyways, among all these unprecedented times, regardless of the difficulties we faced as a species, we moved forward as the Human race. 

Similarly in my life, I moved forward as well.

Let's start from where we ended.

So In 2018 - I started my Internship at Sri Lanka Telecom.  There I learned a lot about the Telecommunication Industry in Sri Lanka.



Also in 2018, We the students of the Electrical and Electronics Departments of the Engineering Faculty of KDU started one of our Dream projects since 2016.  

Electronics Robotics and Innovation Club or in short ERIC-KDU was created. Vimukthi Senarathne Founding President, Secretary - Kalana Gunasekara and the Founding Vice President Yours Truly with the help of literally all the brothers and sisters of our faculty we were able to create this amazing community for innovative brains of KDU. Not only that we were able to hold the 1st ever Robotic competition inside the KDU. As a person who would love to inspire people, this was one of the proudest moments in my life.

Conducting Workshops for Club Members


Conducting Workshops for Club Members

Conducting Workshops for Club Members









 In 2019 I was in the Final year and my team and I completed a Final year project related to Image processing and Machine learning to reduce the traffic congestion at a Pedestrian Crossing. This project was so successful that it was able to take place in the FYP exhibition at KDU as well and we were able to publish a paper at the KDU International Research Conference. (Our annual Symposium)  

Presenting the Paper at Virtual Symposium


In 2020 just when the pandemic struck, I started my first job as Associate Systems Engineer at hSenid Mobile Solutions. There I learned a lot about the field of system Engineering. Linux Commands, Bash Scripts, SQL, No-SQL etc. Also for the 1st time ever, I learned about how to work in a corporate environment. Unfortunately (or fortunately) almost all the days during those 1 and half years I had to work from home.

Doing a Night Shift at hSenid Mobile on December 31


During this time I became a Rotarator at the Kadawatha Rotaract Club. Despite the love of charity my main goal of joining Rotaract was Just so that I could keep in touch with real human beings other than computers. I was the Sergeant at Arms for the year 2020/21 and the treasurer for 2021.



In 2021 many of the good things happened. After delaying for more than a year we had our convocation in January 2021. 🎓 I was able to buy my 1st car in the same month. ðŸš— ðŸ¤© I started a new job at an Indian company. There I learned to use Microsoft systems such as Azure and Active Directory as well as the skill of working under stressful situations. 

BSc (Hons) In Electronics and Telecommunication Engineering

AT KDU CONVOCATION IN 2021


Babe ðŸš—


In 2022 I joined IFS Sri Lanka as a Systems Engineer ( Site Reliability Engineer ). Here I am a part of a Global team where my manager and most of the team members are from the United Kingdom. Here I learned a lot about System engineering and was able to complete some exams related to cloud computing as well. In 2022 I joined the Siyane Toastmasters club. I am learning this new world of public speaking even though I always loved speaking to y'all through this blog, after joining this club I realized how much there is for me to improve as a public speaker. 


IFS People

At Siyane Toastmasters Club Doing a Role Play


In 2023 I became the Vice President of Public Relations of Siyane Toastmasters club. I started my MBA as well as started following Project Management Certification. Also, I became 30 Years old ðŸ¥º. 




Those were the updates in brief. I am planning to talk to you about more technical things related to my career that might be helpful to you. Since this blog is more related to computer science and programming, I will be talking about Linux Scripting and Azure cloud technologies. Meanwhile, I will be talking about other areas related to career development as well. Such as Business Management, Project Management, Leadership qualities, Public Speaking, and everything in between. 



I hope y'all will join my journey of exploring life by living it while being a lifelong nerd. No matter what challenging time comes to your life always remember, that there is a light at the end of the tunnel, a silver lining in every dark cloud, and always always always keep this Mantra whenever at the tip of your tongue whenever you are going through a difficult time, "This Shall too Pass" ✌😇

  

How to use the GSM module??

How to use the SIM 800 GSM module to send and receive SMS???

Here's the step by step guide on how to do that With Pictures.

The necessary Arduino Sketch files and step by step guide power point file is given in the link. Please download.




Download Files

C++ Functions


     Hey People..!! WWeLLcoMMe to coding tutor blog.. After a loooong time.!! So how are you doing? Me..? I'm great!!!  Hope you too!!
     Well.., This year , I started to write this blog by determined to end this lesson series.The reason is that this lesson series took so long to complete and also I have more fun stuff to teach you to do with your computer and mobile.. I'm hoping to add more Fun , Interesting and Interactive Stuffs to my blog. Hope you will  enjoy them too!! 


     Alright!! Let's get started.!

Introduction.

          What is a function? In programming , a function is like an electronic device which do things for you. 

     
For example , If you feel hot turn on AC or fan, It'll cool you down , wanna wash some clothes? put them into the washer and turn it on, It'll wash your clothes and give you.  
Want some Chilled water? put your bottle of water in to the fridge and it'll give you chilled water, warm food? put in the microwave oven...  So the list goes on..! You get the idea right?

     So just like those devices, functions do things for us. If you have a bunch of numbers and you want to find the maximum number out of them? You can use "MAX" function. Wanna find out the minimum number ? use the "MIN" function. Wanna sort out some messed list of things in alphabetical order? Use "SORT" function! Does the robot you programmed, going zig-zag instead of walk in a straight line? use "PID" function.(It's a code for robots ^-^)



     So you can see that the "Life is easy with functions!! ".




  





Parts of a Function

     In a c++ function, there are specific parts.




  1. Data Type (ReturnType)
  2. Function Name
  3. Arguments (Inputs to the function)
  4. Statements (Things done by the function)
  5. Return Value (Outputs from the function)

Steps to Writing a Function


  1. Understand the purpose of the function.
  2. Define the data that comes into the function from the caller (in the form of parameters)
  3. Define what data variables are needed inside the function to accomplish its goal.
  4. Decide on the set of steps that the program will use to accomplish this goal.
 ( Reference : http://www.cs.utah.edu/~germain/PPS/Topics/functions.html)

That's all about the functions. In next post let's do some exercises on functions. Bye!! :)

Paper 2


class StackY
{
          private:
                      int maxSize;
                      int *stackArray;
                      int top;
           public:
                       StackY(int s);
                       ~StackY();
                       void push(int j);
                       int pop();
                       int peek();
                       bool isEmpty();
                       bool isFull();
}

StackY::StackY(int s)
{
          maxSize=s;
          stackArray = new int[maxSize];
          top=-1;
}

void StackY::push(int j)
{
           if(isFull())
                cout<<"Stack is full cannot insert";
            else
                 stackArray[++top]=j;
}

int StackY::pop()
{
          if (isEmpty())
          {
                cout<<"The Stack is empty";
                return -999;
           }
            else
                  return stackArray[top--];
}

int StackY::peek()
{
          if(top==-1)
          {
                 cout<<"The stack is empty";
                 return stackArray[top];
           }
            else
                  return stackArray[top];
}

bool StackY::isEmpty()
{
           if( top==-1) return 1; else return 0;
}

bool StackY::isFull
{
       
            if (top == maxSize) return 1; else return 0;
}

int StackY::peek()
{
          if (top==-1)
          {
                cout<<"The stack is empty";
                return -999;
           }
           else
                 return stackArray[top];
}

Paper Discussion


class Print{

          private:
                    int maxsize;
                    int *pIDArray;
                    int front;
                    int rear;                    int nItems;
           public:
                     Print(int s);
                    ~Print();
                    void insert(int printJobID);
                     int remove();
                     int peekFront();
                     int isEmpty();
                     int isFull();
                     int size();}

Print::Print(int s)
{
          maxSize=s;
          pIDArray=new int[maxSize];
          front=0;
          rear=-1;
          nItems=0;
}

bool Print::isEmpty()
{
           return (nItems==0);
}

bool Print::isFull
{
            return (rear==maxSize-1);
}

int Print::size()
{
              return nItems;
}

void Print::insert(int printJobID)
{        if(isFull())
                 cout<<"The queue is full";
           else
             {
                pIDArray[++rear]=printJobID;
                nItems++;
             }
}

int Print::remove()
{
             if(isEmpty())
             {
                 cout<<"Print Queue is empty";
                 return -999;
              }
              else{
                       nItems--;
                       return pIDArray[front++];
              }
}

int Print::peekFront()
{
                if(isEmpty())
                {
                   cout<<"Queue is empty";
                   return -999;
                 }
                 else
                       return pIDArray[front];
}

C++ Operators

 

   :) Hello Reader..  Good  Day!/Morning!/Evening! to you. (According to the time you are reading this post). You are welcome to "The inspirational blog for programming", inspire++. Today we are going to make some cool , amazing & simple programs and spend some good time together. :) So.. Come with me for the next 20 minutes.

     We know how to create variables. Can you remember? Yes it is really simple. All you have to do is just three things.


  1. Decide what type of variable we want. (ex: It may be int , float , string , char or boolean)
  2. Leave a Space & Decide a name for our variable. (ex: name , age , height , etc)
  3. Finally, Assign a value to it. 
ex: int age;
     age = 25;
     Here first we decided the type of the variable ( int ), secondly we gave it a name ( age ), and finally we assigned a value to it. ( 25 ).

     Though we did this in 2 lines we could do this in a single line too.
ex: int age=25;     float height = 6.1; string name = "shehan"; 

     Now if we want to print those values , we can do that by using   cout   function,
ex: cout<< "My name is "<< name<<" and I'm "<<height<<" ft tall "<<endl;

     Ok. As you can see in above example , you can assign values to your variables. But I feel it is not enough. Don't you feel the same? If the only thing we can do with variables is just assigning values and that's all? I'm not happy with that..!! We want to do things with variables. Right?!

     So is it possible? If so.., then what  else we can do with variables? How can we do that?.. Well! that's where we need operators...

     " C++ Operators " are the bad guys in the language, who can get things done. They are really cool. They can easily manipulate any variable or values to do different operations.

     C++ has different types of operators to do different different things to our variables. 



  • Arithmetic Operators
  • Relational Operators
  • Logical Operators
  • Bitwise Operators
  • Assignment Operators
  • Misc Operators


     Let's think we want to add the values of  two variables. We can use + addition , which is an Arithmetic operator.

ex: int a=5; int b=10; int c;
       c=a+b;
       cout<<c<<endl;
     There are specific operator for each Arithmetic operation in C++.

  • +     -     Addition.
  • -      -     Substraction.
  • *     -     Multiplication.
  • /      -     Devision. 
  • %    -    Modulas operator
  • ++  -    Increment Operator
  • --     -    Decrement Operator
     Ok...   Now I want you to turn on your Code Blocks and Start to Code with me Some Programs..

Ok..!! 
Now... Let's do a cool exercise using operators. Now what I want you to do is create a simple calculator program. How to do that? Use the practice you have..

Here's what you need to do.

     In your program, you should take two integer numbers as inputs. You can do this using cin function. Then your program should return the addition, subtraction, multiplication, devision of those two numbers.

If you find that hard please follow this video.




Great.. :)  Now you know how to use arithmetic operators. In our next post we can discuss about other 4 types of operators. 

     Before I go, Here's a challenge for you, 
          create two integer variables in a program int a , b ; , Assign two different values to them,  now type a code to assign the value of  b to variable a and value of a to variable b, without using third variable.  If you can comment your answer down comments section. If  you couldn't I will reveal you the answer in next post. Until then bye bye. :)

OUR PROGRAMMING WORKSHOP :) -Part 2(2016-10-11)

    

        Hey guys.. This is the 2nd Part of our "Kuppi" in PDF format. If you miss the 1st part, I've put the link down below, Go and check.
     Actually there is a missing part in our workshop , that we couldn't discuss last time. It is at the end of this PDF. I'm hoping to do a video tutorial about that very soon. I'll manage you to receive that ASAP.
     In our next Kuppi I'm going to discuss some past papers of OOP. Hope you all will join that too. Bye.
Thank you :)
-Ravindu Shehan



OUR PROGRAMMING WORKSHOP :) -Part 1(2016-09-30)

          

       Hey Guys.. This post is created in purpose of sharing you the Notes of the KUPPI we had on last Friday.. Everybody who came that day..   I really enjoyed the time we spent together.. It was amazing...!!

          For the people who were there and also for the people who weren't , Here I post the link to download the PDF version of that KUPPI.(I thought it will be important for you guys)
          
          I am hoping to do the 2nd part of this KUPPI on next Tuesday Evening. If you are coming please inform me. And also if there is anything you think I should improve in my KUPPI please Inform me by commenting down here Thanks..


Thank you :)
-Ravindu Shehan

C++ Classes.






     Helllooo.... Readers... Welcome to inspire++. How are you my technical nerdy followers. The week before Last week was awesome. Thanks to the seniors from mechatronics.. We had a awesome workshop on robotics.. All the circuits, cool robots, drones you presented, the actual circuits we created using arduino boards most importantly the programming challenges you gave us !!! Truly seniors!! You did great. That was a day to remember.. :) 
That been said.. Owkayy!! Lets Jump in to the lesson today!!

Classes.
     The main purpose of C++ programming is to add object orientation to the C programming language and classes are the central feature of C++ that supports object-oriented programming and are often called user-defined types.

     Last week we talked what are objects. An object is an entity (Real world thing). In programming , an object is a thing either from the perspective of the user of the software or the programmer. 

     * Object has two components, Properties and Behaviors.

     Classes on the other hand known as blueprints (Plans) of objects. It's just like house planing. You build a house according to the plan. You can build as many houses as you want using the same plan, if you want to. For each house, you don't want to make a new plan. 

     In a program when you want to create an object, first what you have to do is create a class of that object. Then use the name of that class to create objects.

     For example , think you have to make a software to a company to record the details about their customers. So a customer has a name , company gives him a customer ID, From when this person is a customer of the company..etc, And the customer buy things , customer may be given a discount by company. 

     Ok.. When you look at this scene what you have to keep in mind is that there are more than one customer in a company (more than 1000 maybe). So you have to see that there is a pattern. The best thing to do is take all the common factors of each customer and make it an object. Means, Create a object to the customer.

     Right! , to create an object what we have to do is, as I mentioned earlier , create a class. Ok.. Now what I'm going to do is , create a class called customer. Let's see how to do that.

First Create the class.






     Then type the keyword public inside the class.


Look!! There is a Colon : after public!! (Not a semi Colon!! ; ) 




     Under public , define all the variables you want.
Ok! We have finished creating the class. Now it's time to create an object using that class (plan). Here's how you do it. 
     In main function, type the class name and leave a space ,and give a new name to your object (C1). 

Then here's how you use the properties of that object.


Did you got the idea. Ok! Just like that we can create any amount of objects we want.


See how simple the idea is. OK.. Now I want you to practice this concept. So here are some examples. I will give you the answers in the next post.

Practice:
     Create a Class named Box. Add variables Height , width , breadth. Create three Box objects in main function using that class. Give different values to the each object. Write a program to print the volumes of each box.

See you guys soon. Bye bye..!! :)






Life of a Systems Engineer

  Hello, my dear readers. ✌😀✋ I'm talking to you after a very long time. And I am thrilled to talk-to and hear-from you after all thi...