DevConf.IN by Red Hat

DevConf.IN is an annual conference organized by Red Hat which is held at Christ University in Bangalore, India. This conference was mainly a gathering of FOSS enthusiasts where each and every one of us could share our own experience of FOSS. People contributing to several open-source organizations such as Mozilla, Fedora, Red Hat, etc… are sure to be there. So if you want to get started with open-source or already contributing, that’s the place to go !

Opening ceremony !

The reason I was there along with my colleagues was to attend the talks and interact with the different people there. In short, I went there to get more exposure to the open-source world.

Every one of us was contributing to some open-source organization. I am a GNOME contributor and I’ve been focusing on their Gedit project lately. My friend, Yash Khare, is a FOSSASIA contributor and has been contributing significantly to two of their projects, phimp.me and badge-magic. We went there with the serious intent of interacting with the developers and open-source enthusiast and even prepared some questions in advance 🙂

We reached there on the 3rd of August which was the last day of the conference since we could not be there the day before for some personal reason. We attended the opening talk by someone from Red Hat. His talk was about the dos and don’ts when starting to contribute to open-source organizations. Frankly speaking, it was a magnificent talk and we were all captivated by it since we could all relate to those mistakes. His talk covered all the aspects of open-source contribution such as communication, activity, community guidelines, etc…

After the talk, we were roaming around, checking out the different stalls and most importantly, collecting goodies 😉 Luckily, we were able to have personal talk with Brian and asked him several questions regarding some doubts we were having on our respective organizations. Personally, I would say that it was a meaningful and engaging exchange. Half-way through our explanation, he was able to pinpoint our problems and propose solutions. You could really feel the years of experience behind the guy.

Me(Rightmost), my Friends and Mr Proffitt.

In the end, I was offered the opportunity to present a lightning talk which was really a great honor for me since I was a simple attendee. I did not really have time to prepare on anything so I just spoke on my open-source contributions to GNOME foundation (I’ve been working on my contributions for the last 8 month so it was easy to just give a 5 min summary of what I did 😉 )

My next blog will be about my talk at DevConf.IN so stay tuned. Thank you for taking the time to read this 🙂

IncubateIND Hackathon, Kochi

This is my second hackathon and I did not expect it to be so professional. The mentors were really helpful, the Jury were frank, they did not hold back their words which is appreciated since we needed to hear it :). Apart from that, the working place was spacious and welcoming so we definitely did not feel awkward.

So this is how the hackathon went,

We arrived at the InQ building at around 7.45 in the morning. We were suppose to be there by 9.00 am but since we did not know where it was located, we preferred not taking any risk. When we reached there, we completed the usual registration process and were allocated a working space. By 11.00 am, the mentors and Jury members came and explained the problem statement which were as mentioned: Sustainable Growth Awareness, Emergency Response, E-healthcare, Women security solutions, Smart meters for electricity. The mentors especially Mr Abhijit Parkhi, were very professional with their topic and gave a clear and vivid explanation of things. At noon, we got started.

Thinking of a new idea with teammates !

Before coming to the hackathon, we chose our problem statement as Emergency Response. So we quickly got working on that and quickly came up with an idea. So I quote, “Our idea was to create an application that scraps Twitter for tweets depending on a specific keyword that can be inputted. The output is in the form of a graph where the y-axis reflects the frequency of occurrence of that word and other associated word and the x-axis, the words itself. ” The positive points that we had for this idea was that :

1st : We know that nowadays people do tweet a lot about anything and everything. So our main view was that during a disaster such as a flood, people would be tweeting about it and we could use that to inform people who might be on the trajectory of it.

2nd: Usually this is the general scenario, the news or radio cast inform people about an imminent danger and then people start to prepare for it or evacuate. So we would increase speed of news transfer to the people and help save more lives.

3rd: It is not only limited to disasters. We could any kind of trending information on twitter and decide what action to take. If it is terrorist related tweets for example, “Bin Laden is planning an attack on India” (This is an example, do not take it seriously) , we could intercept that and take necessary actions.

So we created the application, tested it, prepared a slideshow and got ready for the first evaluation which is going to be conducted by the Jury.

Now this is where its gonna go down, …….for us !

We got into room , confident and started presenting our idea, giving the positive points and doing a demo of the app. Suddenly a member of the Jury, Mr Debasis Chakroborty, asked us a really simple question, I quote,”Who uses twitter ?”….Sounds like a strange question right, well its not.

We, presenting our idea to the Jury

See the point is that according to statistics, only about 30 million people across India uses twitter. That is about 2.2% of Indian population which is very low compared to other social media platform. That was enough of a point for the other Jury members to pitch in.

Overall we completely lost this round to them 🙁

At midnight, we started looking for a new idea as presenting or improving the same idea would definitely not cut it. We knew that the next evaluation was going to be at 9.00 am so we had approximately 9 hours to find, decide, explore, implement and prepare a presentation . This was nearly not enough time but we did not have a choice so we got to work 🙂

By 9.00 am, it was time for the second and last evaluation. We had everything prepared, the slideshow, the video, the demo etc… We anxiously waited for our turn and finally our names were called. We entered the room very stressful as we knew that it was our last chance to showcase ourselves to get a chance of getting selected for the final pitch.

We learned from our previous “disaster”, that we had to improve some points namely the project but also our presentation skill. So this time, we made a plan of what exactly should we say.

1st : We should state our problem statement first, exactly what problem we’re solving so that we can limit the extend of thinking of the Judges. If we do not put this restriction, they are free to talk about anything that can connect to the topic and they are gonna do so.

2nd : We should think about the disadvantages rather than the advantages of the idea. This will help guess what kind of question the Jury might ask beforehand which can give us a drastic advantage.

So this is our second idea,

What if, during a flood, you do not have internet connection. you do not have network connection so you cannot send any SMS, you cannot call anyone, you cannot post anything on any social media platform…..what do you do in those cases ?………. Our idea is to create a mesh of IoT devices that can generate a hotspot. The mobile phones of the people could connect to the hotspot and fill a form. The latter would be sent back to the server which is own by the Government. They can then deploy their forces and save those people……the exact location of those people would be transferred back to the server along with other useful information. “

The second evaluation went pretty well. We could answer their questions correctly and pitch some good points in. Now it was up to luck !

At noon, the list of those who got selected for the final pitch was announced. So this is how it went, a team was announced, then they had to go pitch there idea to the Jury but in a more detailed manner. Moreover this was done not only in front of the Jury but the other participants too. So an actual panel of 70 to 80 people was listening to the pitch.

So the list of teams went on and finally our team was called !

We got really excited but stressed at the same time because we needed to do better than our previous presentation to win this competition. So we gathered our mental strength and internally prepared for it. We presented it as professionally as possible and answered all their questions very clearly.

Unfortunately, we did not win but it was a great learning experience so in a way we won 🙂 We got to interact with many people from different background and fields especially Mr Vijetha Shastry who genuinely help us regarding our first project. If he did not frankly tell us that our idea was bad, we would have continued the same way so thank you !

Me, Yash, Abhijit and Shivangi receiving our certificates.

Also thanks a lot IncubateIND ,InQ and the volunteers for having helped us during those 30 long hours. We hope to see you all soon!

Hackathon at Microsoft Office

Let me just say that this was my first ever hackathon. I applied to some hackathons before but till then, I never got selected. Maybe it was due to a bad proposal or some unknown mistake but one thing that I know is that I always continued trying.

So this is how it starts,

My team (Yash Khare, Vaishanav Sivaprasad, Vishwaak Chandran ) and I applied for this hackathon after finding out about it online. We went through their website and took a look at the problem statements. After a careful selection, we chose the problem statement related to LeadWalnut 8×8 Inc. The issue was that 8×8, being the most affordable and the best, technology-wise, was attracting much less customers than RingCentral (The top supplier of cloud communication services in USA). So after finding some points to write about, we wrote the proposal and submitted it. All that was left to do now was to wait.

On 24th of June, we got the confirmation email !

Confirmation mail !

I got really excited from this point onwards. I do not know about the others since they have already participated in hackathons before but I guess they were too. We immediately book the train tickets for the travel and departed on the 28th of June to Bangalore.

After another one hour in the Bangalore traffic, we reached the Microsoft Office.

We went inside, a bit dazzled, I mean we are in Microsoft Office right now. We went to sit as we were a bit early but soon enough some other participant and members of the Jury came as well as the mentors.

At noon, the Jury introduced themselves and gave some explanation regarding the problem statement. This session helped us gain an insight on how things were going to be and what they expected from us. Our problem statement was related to LeadWalnut and the Co-founder of LeadWalnut explained the project to its very core. At 2.00 pm, the hackathon officially started.

From 2.00 pm to 6.59 pm

We started with designing a revamped website for 8×8. Since we did not have much time to develop a website from scratch, we went for Bootstrap 4 and chose a template related to business. Once we got one, we started customizing it by changing some piece of code here and there. I started working on the email marketing campaign, the goal of which was to introduce the company and to showcase its products. (You can check the Portfolio section to view the emails). Vishwaak was working on the chat Bot that we had to integrate on the website.

Aswin and his team trying to explain their idea to one of the Jury.

At 7.00 pm – First Evaluation

So for the first evaluation, we had to present our ideas to the members making up the Jury. Whatever we did during those 5 – 6 hours, we had to showcase it to them, market it and that is exactly what we did. The guys explained to them the technical part, how we were gonna improve the website and the Chat Bot,and I took care of the marketing part. That is, my work was to sell the ideas to them, what we found to be wrong with the company and how we could improve it.

The first evaluation went well. We were mostly proud of ourselves and so we continued our work.

At 1.00 am – Second Evaluation

Now this is the crucial point !

This is the last checkpoint before we submit out slides to the Jury. So we had to be very careful about the points we proposed. We came up with several other marketing strategies such as SEO and SEM Optimization, Email Campaign, Contributing to other sites to boost visibility etc… However the Jury apparently found a mistake in one of our strategies. Well I would not call it a mistake. I would say that it is just his personal opinion.

So I quote,” What good would advertising 8×8 on Medium do…..how many people do you think you can attract by advertising on such a platform ?…….Kylie Jenner has millions and millions of people following her on Instagram…..if 8×8 posted a video online and Kylie Jenner did the same, who would get the most views ?

Me, Yash, Vaishnav and Vishwaak trying to present our points and work from the last 11 hours.

That was his point. At that moment, I did not know what to say, how to counter him. We lose this point to him 🙁

However after thinking about it for some time, I finally got the point. The reason why Kylie Jenner has so many followers is due to her business model. She is not limited by the type of people following her and vice versa. Even a 50 years old could follow her. 8×8 Inc, however, is a cloud communication company, so the market that they target is very specific compared to her and it is the same way around. Not everyone is gonna follow 8×8, only potential clients or people interested in their business.

If I was able to give such a response at that time, we might have won 🙁

At 10.00 am – Submission Time

We prepared a slide show where we showcased everything that we did during those 24 hours including mock-ups, website design, email campaign template, chat bot etc… and sent it for review.

We did not win but we got a tremendous amount of knowledge by interacting with the mentors and the Jury members. We even got to talk with a Microsoft Developer and found out that he was part of the sponsors of the event. We met people from Adobe, Avalon labs, Microsoft etc…

In any case it was a once-in-a-lifetime chance to eat and sleep in the Microsoft Office, so we definitely could not miss that and even though we did not officially win, we did win in terms of knowledge gain, communication skills and experience.

After the hackathon, in front of the Microsoft Office.

My first FOSSTalk !

It all started with a simple message which was completely unexpected.

I was like, why ??…why me?? . I knew it was going to be my turn one day but not as soon as this. Anyway I did not have a choice so I had to prepare something and quick as it was gonna happen in 1 day.

So I started searching for a topic that would keeps the guys awake and captivated. I spent my whole morning from 9.00 am to 1.00 pm doing just that. By that time. I had already covered 5 topics, Attitude and its benefit, Python and the future and 3 more which I do not even remember. 🙂

At 7.00 pm, I had to no choice but to choose one and that is when I got the bling. Why not introduce them to scuba diving !! There are several reasons why I think that topic would be best one for me.

Reason 1: I’m no slouch in scuba diving. I’m a certified PADI (Professional Association of Diving Instructors) Rescue diver with more than 100+ dives on my record. I’ve also completed my EFR (Emergency First Response ) certification along with it.

Reason 2: Scuba diving is like second nature to me. Even if I do not dive for 1 or 2 years, it is a skill which is unforgettable. All the safety procedures, the water entry techniques, the scuba diving signs etc… I know those like the back of my hand.

Reason 3: I’ll be ready for questions. Whatever questions I might be asked at the end of the session, I’m confident that I’ll be able to answer every single one of them.

Once I got my topic, I started with the slides. Took me one hour and started a small refresher session with myself(Diving is not something you forget but the technical terms ,yes).

The next day was the big day. I went through the slides in the morning, tried reviewing the technical terms, did some self-explanation as if I was talking to an audience and that was it. “Big round of applause for Sevagen”, I was asked to come forward and start. My heart got panicky and beat its drum loudly in order to appeal to the other senses for help. It beat faster and faster until its palpitation gathered the speed of a race-horse. Finally I opened my mouth and started uttering a few words. The last thing I knew is that I spoke for a non-stop 30 minutes. I was surprised myself that I spoke that much .

Me explaining about a BCD , the first and second stage of scuba diving equipment.

Anyway the lesson I got from this experience is to face your fears, whatever they might be. They will do nothing but prevent you from improving in life. They will hold you back from opportunities which you could easily obtain.

So do not hold back, do whatever you think might be beneficial for you before it is too late. 😉

Solving Error 2002(HY000)Can’t connect to MySQL server.

Mediawiki’s installation is quite simple if the correct steps are followed and applied but it may happen that during the installation a package was not correctly configured or worse , broken. Rest assured , you do not need to uninstall ubuntu , at least not now.

Screenshot_2018-11-06 ERROR 2002 (HY000) Can't connect to local MySQL server through socket ' var run mysqld mysql sock' (2[...]

When the MySQL server connects to the localhost, it attempts to use a socket file instead of TCP/IP(Transmission Control Protocol / Internet Protocol). The socket file used is specified in etc/mysql/my.cnf when My SQL server is installed on the system. So what you need to do is change socket to the location of your MemSQL socket file.

/etc/mysql/my.cnf you should see this near the top of the file:

Screenshot_2018-11-06 ERROR 2002 (HY000) Can't connect to local MySQL server through socket ' var run mysqld mysqld sock'

Just change the socket file to /var/lib/memsql/data/memsql.sock.

Now try mysql -u root -p again. This should do the job

If you still get the same error, the process might not be running on your current version of Ubuntu. So type ps ax | grep mysql terminal to see if it is running.

If it is not ,then use command sudo service mysql start or sudo /etc/init.d/mysql start if it says service unrecognized, to start mysql.

If none of the above worked, it might mean that mysql is installed but corrupted somehow. The solution to this is to completely uninstall mysql and installing again.

If you had installed mysql-server, omit the mysql-client part.

sudo apt-get remove --purge mysql*
sudo apt-get autoremove
sudo apt-get autoclean
sudo apt-get install mysql-server mysql-client

Now use sudo apt-get install mysql to install mysql .

This should get your mysql working.

The solutions above are uniquely what I tried . It has worked out for me but I cannot guarantee that it will work for everyone.

Part 1 :How to install Mediawiki .

As you guys might know , I just got started in the field of programming and open-source contribution. I was hoping that it would be easy enough for my to grasp the concept but after a fatal step (of which i have no idea) , the task of installing MySQL became so elusive and frustrating that i was literally about to loss my mind . So I’m gonna try to prevent you guys from doing the same mistake as me.

Step 1

Do not try install Apache,MySQL or PHP separately. Try using the command

sudo apt-get install lamp-server^ 

screenshot_2018-11-06-downloading-and-installing-lamp-on-ubuntu-google-search2.png

This will install all 3 of them .

Step 2

Install git ,  if you do not already have it .

To install it,use sudo apt-get install git 

Step 3

After installing git, you must configure your username and email as git tracks any chances you make using your username and email.

git config –global “user.email”—–Enter you email address instead of user.email.

git config –global “user.name” —-Enter your chosen username and replace it with “user.name”.

Step 4

Now, you need to generate SSH keys to establish a connection between your PC and Gerrit but to be able to generate a new key you need to check if a key already exists. To check for this , try

ls ~/.ssh

ssh-keygen -t rsa -C “your email address”

After you enter the above command , you’re gonna be prompted for a passphrase. Do not worry about that just press enter.

You now need to create a Gerrit account and add the SSH key .

  • Go to wikitech.wikimedia.org.
  • Log into the web interface of Gerrit.
  • Go to settings and click on “SSH Public Keys”
  • Paste your ssh key into the corresponding filed

Now , run eval ‘ssh-agent‘ and ssh-add .ssh/id_rsa

In order not to get “Permission denied”, you should run ssh -p 29418 <USERNAME>@gerrit.wikimedia.org

Screenshot_2018-11-06 Gerrit Tutorial - MediaWiki

Step 5

Download mediawiki.

Type this in terminal.

wget https://releases.wikimedia.org/mediawiki/1.31/mediawiki-1.31.1.tar.gz

Step 6

Once the download is completed, you need to extract the folder and place it in your web directory.

To extract the folder use the following command.

tar -xvzf /tmp/mediawiki-*.tar.gz

Now rename the mediawiki file as “core” and copy it to the www folder of var. If you are not able to paste it , it might be because your the folder is read only. So to solve this , apply the following command

sudo chmod 777 -R 777 /var/www/html

This will remove any restriction and then just copy the core file into www folder.

You can try to see if the localhost is working. So go to your browser and search for http://localhost/core/

It may also happen that you may not have installed all the extension . The extensions that you might be asked to download might be php mdstring and xml.

To install mbstring , just type the following command,

sudo apt-get install php-mbstring

and for xml,

sudo apt-get install php-xml

Once you completed downloading everything restart the Apache server using the command

systemctl restart apache2

Now try localhost/core/ again. It should work.

Step 7

Now just go through the local setting till you reach a page where you are asked for a for username and password. Those are actually for your database which you have not yet created. So open terminal and create a database.

  • Create a mysql user.

sudo mysql -u root -p “password” —-Replace the “password” with an actual password.

Screenshot_2018-11-06 downloading and installing lamp on ubuntu - Google Search(1)

mysql>CREATE USER ‘new_mysql_user’@’localhost’ IDENTIFIED BY “your password”;

mysql>quit;

  • Create a mysql database pi_wiki

sudo mysql -u root    

mysql> CREATE DATABASE pi_wiki;

mysql> use pi_wiki;

  • Grant user access to new database.

mysql> GRANT ALL ON pi_wiki.* TO ‘new_mysql_user’@’localhost’;

mysql>quit;

Step 8

Now fill in the boxes with appropriate information and you are good to go.

Screenshot_2018-11-06 mediawiki local host page - Google Search(1)

Python as first programming language

Python is administered by the non-profit Python Software Foundation. It is a programming language which is quite versatile for different sorts of projects and easy for beginners to read and grasp.

Firstly , everything about Python is free and available online. The language is open-sourced and free to use for everyone. Basically you just need to install Python on your PC or laptop, find a text editor to write your code and finally use your terminal or command prompt to execute your programs .

According to me ,these are the points that makes Python a great programming language.

  • Transparent and readable syntax.
  • Versatility
  • Rapid growth
  • Availability of resources

1.Transparent and readable syntax.

One of the fundamental ideas behind Python is to facilitate writing readable and clean code.What’s more, the code is relatively easy to read since it somewhat resembles normal English language. This makes it easier to type than some other programming language.

Secondly, Python uses proper indentation as a way of making the code structurally more appealing and cleaner.It also helps in spotting errors and bugs in the code too.

2.Versatility.

Since Python is a not oriented for any specific type of usage, programmers use it for a variety of projects. Whether you want to create games, web apps or even data mining, Python provide you with the tools to do so.

For a beginner , this versatility is amazing. You might not have a clear idea of what you want to accomplish but after you go through a few exercises , you’ll soon spot the ones you find most intriguing

Moreover, Python has a wide collection of standard libraries and additional packages.This makes it even more easier for beginners to start working on practical projects early on.

3. Rapid Growth.

Once you get started with Python, you’ll eventually be writing small programs of your own. Because of the clear and easy to learn syntax, you’ll easily get the hang of it. Consequently, Python lets you start thinking like a programmer rather quickly.

I personally found it extremely helpful that Python reads just as English. For solving problems , you can write some “pseudo code ” first,listing the procedures necessary to achieve your goal .

After a few days of practice , your pseudo code will magically resemble real Python code.

In other words, Python’s simple and clear syntax allows you to focus on creating solutions for your problem quickly.This was one of the things that kept me motivated with Python: being able to write your own little program so soon felt so satisfying!!

4.Availability of resources.

I got started with Python by taking online course. Just googling python courses gives you millions and millions of websites where you could learn Python which can be a bit much sometimes. That’s why I’ve listed my favorite resources for beginners to start Python right now.

  • Udemy : This is an online learning platform where you can learn about anything including programming languages such as Python. The only minus is that it is not free but luckily it is not that expensive either and the tutorial are given by professionals in the working industry.
  • Code-academy : Their Python course is excellent for beginners to get the hang of  the basic concepts of the language. Gamified learning works well in this case and the exercises are enough to tell if Python works for you.
  • Exercism : Excellent exercises for practicing your newly acquired skills from Code-academy.