One year anniversary with Pydelhi!


8th july 2017 is the day when I attended my very first meetup of pydelhi or any in general. Thanks to #dgplug folks and @curiouslearner. And now a year later, we had another pydelhi meetup on the exact date which marks my one year annniversary with delhi open source community. This post is going to be lengthy, so grab your popcorn!

So, let's start with the details and experience of this annual meetup of mine.


Prologue

Last year, I joined #dgplug summer training on IRC: freenode. Being new to open source world, I found it very amusing to have some delhites on the training whom I could meet in person. On 8th July 2017, I attended my first meetup of any community in-person. I wrote a blog post of that meetup sharing my experience here.

Introduction!

When championshuttler and I reached the venue, there were around 100 people already present at the venue (which happens to be Microsoft's Delhi Office at Gurugram). Introductions were going on.

Since I have attended many meetups since last year, I saw many familiar faces in the crowd.

After Introductions, we had a furious discussion on "Text Editors vs IDEs" where pros and cons were listed and many of us got a clear picture on what to use when.


"Tex Editors vs IDEs (Integrated Development Environment)!"

To summarize a little, Editors help you gain implementation level knowledge of the tech stack i.e. using editors, you as a programmer will be more aware of the program construct (indentation, classes et al.) and  will better understand your code. On the contrary, IDE's provide auto-complete suggestions, and are generally helpful in production level environment when you have gained knowledge and need efficiency. You should always start with the editors and with time and experience, switch to IDE (Integrated Development Environment).

(I proudly use Vim Text Editor! Another post on my Vim experience, coming soon!)

Networking session

The best part of any community gathering a.k.a meet-up is the networking break where we get to meet different people, hear about their amazing ideas and projects. Even you are shy to interact with anyone (like me), you learn a lot just by listening.

Becoming a multilingual superhero in Django --by Sanyam Khurana

Ever been in a situation where you had to support multiple languages with your django website? This talk will surely help you out. The original proposal of the talk can be found here.

Managing Dotfiles using Python --by Vipul Gupta

Is it a head ache for you to recreate dot files every time your system breaks down or you switch distributions? If yes, this talk will surely help which uses python library "Homely". Original talk proposal can be found here.


Time for Lightning Bolt!

At every meet-up, we have lightning talk sessions where anyone from attendee can showcase their project, represent their community and share whatever they want. And so, we have a Debian packaging lightening session by Manas Kashyap.

Shout Out!

People from various communities pitched about their community. We had community pitching from Ilugd, PyLadies Delhi, Pydelhi, LinuxChix India et al.


Also, If you feel sad about missing all the interesting talks. Don't worry, we recorded it all and will update the link as soon as they are published. The official blog post by Pydelhi can be found here and photos from the meet-up are uploaded here.

Not over yet!

After these amazing talks and networking, some of us stayed at the venue. I was doing what I love the most, more networking. We talked about hill hacks, DebConf, hacking (in the true sense), repairing each others' systems, sharing cool stickers etc. In the midst of these enlightening sessions, I even found a resolution to my thorny Apache problem; which was basically installing a missing module and enabling the firewall. Thank you isagar.

Also, we did some rubix puzzle solving, system breaking session and played xbox as well :)

I also learned about editing grub while booting by isagar. Another post on this, later.


Experience

It's been a long time since I have joined these open source communities in Delhi and have attended many meet-ups during the course. I learn something new at every meet-up, meet new people and make new friends. These community meet-ups make up most of my social interaction (Being shy and introverted, I tend to sit and watch others). These sessions have taught me to open up to new people, have conversation and so on. They also taught me many new skills and as we say at #dgplug,
 "Learn together, Teach others!"

Multi-tasking is a myth!

Yes, you heard it right. Multitasking is a myth and it is a true fact. It don't even exist in computers. On mailing list of #dgplug channel, kushal shared a very interesting video on scaling yourself for summer trainees like me,

 


In the above, video Scott Hanselman - Principal Program Manager, Microsoft sharing his experience and advice on how to scale yourself (not weigh) but to improve your daily jobs/work efficiently.

He said, "Multitasking is a myth, ..., that is a computer science fact... you can't it's biologically impossible, ... , the best multitasking you can do is while sleep with the problem. Let the background threads do that work for you while you sleep."

So, is multitasking is really a myth.

Well, not exactly.

Multitasking is the ability of someone capable of doing more than one job at once which is not physically, or computationally possible. You can't do perform two different action using same hand, but you can using two. What I mean, even computer cores uses threads to do multitasking which is not exactly multitasking because, two different threads are doing different things and not single entity doing multiple job.


So, how these operating system perform multitasking if it don't even exists? Why is your operating system called multitasking operating system.

Here's why...

They can schedule multiple jobs efficient enough, difficult for user to detect. Scheduling is one of the primary functionality of any operating system. What really happens, is operating system schedule all the jobs, depending on the algorithm or method used, to select one program for cpu to process and shift to another. Each program is given certain amount of CPU time but no 2 programs get CPU time simultaneously.

Multitasking == Scheduling

So if you see someone saying he can multi-task, don't believe him. And if you yourself believe you can multi-task, think about it again. People add "Multitasking" as a strength in their resume, which is not possible. What they should write is, "Can schedule my job well enough to handle multiple jobs at once".

Note: How I know this, I too used to think that multitasking is there and failed miserably trying to achieve it :p.

Till Then,

To Infinity and Beyond!


Master the what?

During my mid term examinations of fifth semester, I started to work on LibreBoot.  And from nowhere I got an email stating about a great competition named, master the mainframe.  Since my field of interest is networking and system administrative stuff, I registered for it, although I didn't know a thing about mainframe and I never even considered IBM before that. But still I thought I should give it a try and see what happens.  So I did that.


Master the Mainframe!

It is a competition organised by Angel Hack and sponsored by IBM so that all beginners or say students who are unknown to Mainframes can be a part of it.  It is beginner level competition aka hackathon, where we have to complete few challenges and few top contenders gets great prizes like Amazon Gift Cards, MasterCard or Visa Gift Card or HTC vive.

All in all, the competition has a great structure, easy to start and great prizes to win.  And the best part is the whole competition is divided into three parts to help the contestants get familiar with the system slowly and easily and prizes are distributed within all of these parts i.e. part-1 provides you Amazon Gift Cards and so on in other parts.

https://www-03.ibm.com/systems/resources/MtM_logo.png

Part-1 [Sep 15/17, 2017]

Part-1 comprises of only introductory part and is meant to familiarize you to IBM z/OS, mainframes and Unix environment.  Since I know a little about Unix environments, ssh and remote connection, so they were ease to grasp.  And I completed part-1 within 2 - hours, although the website claim it to be solved within 1-hour, but at first I messed so had to start it over.

Part-2

Part-2 has 15 challenges which needs to be completed to complete part-2.  The first challenge continues from the last challenge in part-1, i.e. primary commands and line commands and challenge is to use them in part-2 while it is read about them in part-1.

#1 [Sep 18, 2017]

The first challenge was not really difficult and is meant to familiarize you with some primary and necessary line commands to be used in the editor.

#2 [Sep 21, 2017]

The Second Challenge is basically to introduce the data format z/OS work on i.e EBCDIC and ASCII.   The challenge was to change the hexadecimal value of few characters into other to change their ASCII and EBCDIC correspondant.

#3 [Sep 22, 2017]

The third challenge is to introduce the participant with the concept of Job Control Language(JCL) which is used by the z/OS as its job handler i.e. to manage and control job processing.  The task here is to correct the JCL syntax as JCL commands needs to be in upper case to be executed without errors.
.
.
.

#15 (December 09, 2017)

Note: This is the dormant period when I lost my consistency but never crossed this out of my to-do list. Sooner or Later I decided to complete it before the deadline. And then during the final examinations, I realized I should complete what I have started.

Part-3

Part-3 of the Competition was the easiest for me in the whole competition because it involves knowledge of several other programming languages like C, Java, C++ (which luckily I had) rather than any mainframe specific programming language like JCL, COBOL. Part-1 was meant to get you familiar with the mainframe environment, Part-2 (most difficult) was meant to get you familiar with the mainframe tools and utilities required for part-3.
The trick over here is in the last challenge of Part-3, where we have to make a final product from the knowledge we have gained so far during the competition.

I made a simple application for a sugar, flour industry where details of each customer and supplier are fetched from a database stored in mainframe to a command-line based terminal. Due to lack of time (which I could have, if I had efficiently managed my time), I submitted this primitive (yet I am proud of it) as my final challenge to complete the competition on December 22, 2017.

Overall Experience

My overall experience for the IBM and Angel Hack collaborated competition Mater The Mainframe 2017 was amazing. In 3 months, I have learned so much about mainframes and using them. From someone, who don't know anything about mainframes, their working and application, to someone who not only know these concepts but can also work on mainframes.

I learned about terminal emulators (which was the first step to connect to the mainframe), SSH remote connection protocol (though I was aware of SSH earlier, but if I wasn't, I would be). I learned about the functionality of Mainframes, how they store and access data, how they automate the job to be processed on the mainframe. Learned about the system administrator job for a mainframe, how to debug JCL and COBOL programs, how to handle errors on a mainframe. And most of all, I learned about one great lesson, "Always complete what you have started" and "Scheduling your job".

What's next?

Getting aware of mainframe and laying my hands on it, I found an opportunity where I can use my recently acquired skill for some good stuff, Openmainframeproject and their summer internship programme. To know more about it, visit their website at https://www.openmainframeproject.org/.

Note to myself: Took me a little while, Could be in top 200 participants for part2 and top Three in world part3. Better luck Next time, will be in top for next year.

Moving!

It's been a long time, since I published anything here, but that doesn't mean I stop writing, I kept writing everyday, just didn...