AFDC League Management System

The wait is finally going to end. The official kickstart of RGSoC on July 1. Now that we are on a serious track as we have got an important project to complete within three months. Right now our team is busy organizing meetups and having the regular sessions with coaches and we are in the process of sorting the tasks and deciding the timeline.

So here goes a brief description of my project.

AFDC League Management system is a Ruby on Rails application which is used by the Atlanta Flying Disc Club, Georgia to manage league registrations, rosters, schedules, and result tracking. This application runs on Docker (a container technology for Linux).

We have been assigned Pete Holiday as our mentor and Rafał Cieślak as our supervisor. Feeling happy for getting the chance to work under the guidance of amiable and experienced people like them.

In the coming days, we will be working on the tasks, writing blogs in the “teams app” and attending meetups.

Bundledore will be back with more updates soon 🙂

 

RGSoC 2017- Most awaited result !!!

1-0fJYGe2BZcah3ZneUy1RZQ

Last Sunday, I was traveling in a crowded bus, completely exhausted. I couldn’t even check my phone as it was left somewhere in my bag. Suddenly, my friend called me on my sister’s phone and asked me to check my mail. I was so afraid to check, a mix of thoughts went through my mind, would that mail be something important, any internals published?? another SSOC assignment?? Any new works that have to be completed immediately?? I was too curious to open the mail. Ah!it just got opened and Woah!! its the mail from Rails Girls team with a great news, “Your team has been selected for RGSoC”. I screamed and someone was staring at me by watching the sudden reaction. I checked my phone, lots of missed calls and messages, yeah, I was the last one to know the good news. My teammate was repeatedly calling me and I couldn’t call back due to the poor signal. Once I got back to my home, I answered my calls. This was unbelievable. Exactly 2 weeks back, the results of RGSoC was announced and I was so downhearted reading the rejection mail. In that temper, we emailed them back explaining how well our team was totally good at all their requirements. We didn’t  expect a reply from them. But it is too surprising to get a positive reply from the community. We were indeed lucky to get an empty spot for our secondary project, “AFDC League Management System”. Yeah, at last, we did it 🙂  It’s wonderful to get the result of your hard work after the wait of two long years. So everything is set for the coming three month’s coding season with the target of enhancing our project and making it a great success. Cheers to our team, “Bundledore” with the coolest and amazing coaches Alfred, Mukesh, and Aishwarya. So here comes our team to crack RGSoC 2017…

RubyConfIndia2017

123After the weeks of excitement and long wait, finally  I packed my bags and started off my journey to Le Meridian, Kochi for my first talk at RubyConfIndia 2017. From the day of acceptance of my CFP, I was little tensed and worried about the talk as I was the only one newbie among the established speakers in the event. And moreover, my task was to motivate the beginners. But I was all determined to face it.

I reached the venue at evening and checked into the rooms. The luxurious stay at Le Meridian, all free of cost, that was really a cool chance. I met my roomie, a delegate working in Josh software, Pune. She was a speaker for the last year. We chitchatted for a while. It was 7 ‘o clock already, so we stepped downstairs to get some food. A party was going on there. I met many random people. Most of them were developers and professionals. I could meet only 5 or 6 students. All of them were enjoying the party and I was busy talking to speakers and developers. I met the main organizers of the event, a team of experienced Ruby enthusiasts and had a casual conversation with them about the past Ruby meetups. After some time we headed off to have the five-course dinner.

Next day, I wake up late and had to hurry up for the conference. The first talk was the most awaited one, by Yukihiro Matsumoto, the Ruby language designer.He talked about the importance of a community for programmers. Matz (as he is called) is one of the coolest personality that I have met. He is so down to earth. After the talk, I had a face to face conversation with Matz after which we clicked some selfies together.

A series of speeches, unconference sessions and lightning talks were held. The speaker list includes ruby developers like Shashank Date, Adam Hawkins, Richard Schneeman, Vipul A M and so on.Each talk was unique and interesting.

The first day was really good. I got to meet many ruby developers and rails enthusiasts. The most amazing element was having the conversation with Matz, which created a great impact on me.

It is the second day and is an important day for me as I was giving my first talk in such a splendid platform. I was asked to edit my slides an hour before my talk. I was tensed to the core. But the people around supported me and made me feel calm. I would say that the rails community is the best. Just after the declaration of Ruby Award Hero award bagged by  Sameer Deshmukh, I was called to the dais for my talk. Once I was on the dais in front of  500 people, I felt a rush of energy in me. I started my presentation on “How to get started with Ruby on Rails” and shared my experience from the perspective of a newbie to motivate the beginners to come forward with contributions. I was so happy to get good reviews on my talk.

Soon after that, we dispersed for lunch. I met a couple of developers working on ruby based firm, they gave me a good feedback for the talk and suggested the necessary areas where I have to improve. That was a motivating input for me. The activities followed include unconference sessions by Aaron Cruz and Richard Schneeman. I would like to tag the session as the most unique one I had ever seen. Aaron and Richard came up with an outstanding performance on the dais. I was totally into it and didn’t recognize that the event was about to end. After the vote of thanks, we collected the goodies and bid goodbye to each other.

I convey my thanks and regards to the organizers of the event Mr.Satish Talim and Prathamesh Sonapatki for giving me the opportunity to talk at the event. The support from the awesome sponsors: Kerala Ruby Users GroupGO-JEK, Josh Software, BigBinary, MavenHive, Red Panthers and Amura made the event successful. Above all, the backbone of the event, the vibrant ruby community which supports the people of all skill levels… I feel delighted to be the part of the community. I feel proud to say this along with others ” Matz is Nice, So We Are Nice”.

#ghci2016

2016 gave me many opportunities which were totally unexpected. One among them, being selected as a GHCI student scholar. GHCI, Grace Hopper Celebration India is the largest gathering of women in technology hosted by Anita Borg Institute along with ACM India. This year it was held at  Vivanta by Taj and White Orchid convention center, Bangalore.

I heard about GHCI from my senior who attended the conference last year. I decided to give it a try and applied online through the ABI website. Luckily I and my friend got selected. Then came the trouble, our semester exams got scheduled on the same date as that of the event. There was only one option, an alternative examination. We had to go through a lot of procedures to make it done. At last, everything was set, our two exams got rescheduled. We started off our travel by train and reached the destination the next day morning.

Day 1:

We directly went to the luxurious hotel where we were allotted three days of free food and accommodation. That was a cool place. The room was just perfect with all the facilities. We missed our breakfast as we had to catch the bus to the venue which was organised by the team. We could barely conceal our excitement and started taking selfies 🙂  At last, we reached. There was a long queue in front of the registration counter. But organisers were fast enough to handle the queue within minutes. One of them came and announced, the grand lunch. Omg! That was the words that we were waiting to hear, we rushed for the lunch. The sight of the food itself made us feel full.

There were a lot of variety dishes and desserts. We ate a lot and were really tired. But this was not the time to sit comfortably somewhere and take rest. We had some random talks with the student scholars and delegates who were working in reputed companies. They were so friendly.  We gathered in the main arena of the conference for the official launch.

Telle Whitney, CEO of ABI gave an introductory talk and pointed out how women are making changes in the field of technology. Mrs. Geetha Kannan, director of ABI India, talked about the empowerment of women in technology. Mrs.Vanitha Narayanan, Managing Director of IBM took the Keynote session on how women are both adapting to and driving change in the tech world. Madhav Mukund, Dean of Chennai Mathematical Institute, gave a brief talk on ACM India. The talks were so interactive.

Next session was a discussion by the CXO Panel about Leading in Times of Unprecedented change.

  • Panelists: Cynthia Stoddard, Senior Vice President and Chief Information Officer, Adobe; Ganesh Balasubramanian, Global Head Design, and ADM, HSBC; Mohit Saxena, Co-Founder, and CTO – InMobi; Prameela Kalive, Executive Vice President, Zensar Technologies. Moderator: Nora Denzel (Independent Director).

Soon after that, we had the tea break. Next session started off with a bang.Dance, Music, DJ party.. the celebration began 🙂

img-20161207-wa0032

The day ended with lots of energy and cheerfulness. We went back to the hotel, freshened up and then roamed around the streets. How could we miss the chaat  😛  There was a chaat shop nearby our stay. We had spicy panipuris, masala puri, and chana masala.

IMG_20161208_192426.jpg

Day 2:

It is the second day of GHCI and for us “The goodie day” 😉  The venue for the day is Vivanta by Taj. We missed our bus and took the metro to reach the destination. At the entry, we saw the goodie bags being distributed. We collected the bag and went to the Career Fair. A crowd of companies; Google, Amazon, G.E, Cisco, Google, Intuit, Microsoft, NetApp, ANZ, CA Technologies, HP, Symantec, Thomson Reuters, Unilever, WalmartLabs, Brocade Communications Systems, Inc., Citrix, Dell Inc., EMC, Facebook, Goldman Sachs & Co., Intel Corporation, VMware, Xerox and Xilinx, SAP Labs and the list goes on.

 

This is the perfect platform to directly connect with professionals and discover the availability of jobs and internships. We registered our details with almost all of the companies and interacted with their team. They also had some funny activities and quiz competitions. We did get a lot of goodies  🙂  Along with career fair, a series of talks, poster displays and presentations were going on. We split up into two directions and attended the talks of our interest. The first talk, “Robots: Where are humans in it?”, by Accenture technologies. This was an advanced level talk. I could not understand much and managed to listen to it for some time. I was interested in knowing about cryptocurrency, so I went to attend the talk  “Block chain Decoded” by IBM and VMware. I found the talk really interesting. They explained the block chain network, flow of currency, transaction procedures clearly. They even showed us a demo on how the transaction network works.

Soon after the talk, we had the grand lunch. We roamed through the company stalls again and met some attendees. Thus day 2 came to and end. With the bags full of goodies we went back to the hotel.

Day 3:

We were a little upset as it is our last day at GHCI. We decided to cover the poster presentations. The works were so innovative. Having glanced through each poster, we went around to see the luxurious venue, Vivanta by Taj. The hotel was fully decorated with Christmas lights, so bright and beautiful.

We were hoping if we could stay there for one more day. The time was running short. We collected our certificates and reimbursement fee, bid goodbye to some familiar faces and returned back. GHCI left us with lots of experiences and we would always remember the awesome personalities that we met. We hope to join for #ghci2017  🙂

img-20161207-wa0027

BITCOINS

Bitcoin

I was randomly going through some newsletters and saw this term ‘Bitcoins’. I felt it as a pretty  interesting topic  and started diving into some sources where I could get some idea about it. We have heard about coins  but what does the ‘bit’ signify. Yeah, that is exactly what defines it, Bitcoin is a cryptocurrency which is  made digitally in binary format. It is a digital asset which works as a medium of exchange using cryptography to secure transactions.

As per the sources, back in 2009, an anonymous programmer Santhoshi Nakamoto has discovered bitcoins which brought a revolution in the digital community.  The first documentation on bitcoins is the research paper published by Santhoshi Nakamoto on 31st October 2008,”Bitcoin:A peer to peer electronic cash system”.

Bitcoin is the first decentralized cryptocurrency. This can be used in any country and there are no limits on the usage. Developed using software programs that follow  mathematical formulas and implemented as an open source code, bitcoins provides access to users to review the code and understand the workflow. This can be stored in digital wallets in our computers or mobiles. bit

The Bitcoin network is secured by computers called miners which verify transactions. After the verification, the records are kept in a transparent public ledger which is called blockchains (record of past transactions). This network is unhackable and is secured by cryptographic techniques.

bitcoin-mining

This discovery created a growing impact in the lives of citizens. A recent survey shows that about 45 % of people in the USA are comfortable of using an independent currency like bitcoin. This has a reason, there are no middlemen in the whole transaction process and the loss of money through exchanges can be saved. Even the services like Reddit and WordPress has started accepting bitcoins as a payment currency now. Bitcoiners are working to make it much easier to use the currency, building everything from point-of-service machines to PayPal alternatives.

A visit to AMMACHI Labs

AMMACHI Labs (Amrita Multi-Modal Applications and Computer Human Interaction), an exceptional name of the academic and research center at Amrita University. It is a repository of innovative ideas to empower the lives of the people in the society.

This is the very first time I visited the lab and it was a great experience for me to get a chance to get to know about the various projects ongoing there. Being computer science students we always had this question on why should we learn all about motors and circuits in our first year. But all my questions got its answer by this visit. Any sophisticated technology works with the integration of mechanics, electronics, and programming. The projects associated with the lab are the real proofs of the statement. As the name suggests, the lab focuses on developing the applications with computer-human interaction.

Haptics technology:

Haptics creates a sense of touch for the user by the application of force or motion. This   technology is used to develop applications to assist the employees in areas like carpentry training, medical, construction, e.t.c.

Learning programming from scratch:

Introducing the concept of programming to the children through a simple game. Through this, children can approach programming through a different perspective of problem-solving. By solving real life scenarios through a game will help them to develop their skills.

Virtual reality devices:

Experiencing something which is not real, sounds illusory, but it became possible with the use of technology. HTC Vive is one such device which provides a virtual reality experience through games. It gives a  360˚ coverage and is equipped with wireless navigation controllers .There are also sensors  which detect the motion of the player in the bounded region.

3D and Leap motion:

Leap motion  is a technology which allows users to control their computers with hand gestures alone. The motion of the hand in detected by infrared sensors and this input is received by the computer software with which the activity is controlled.

My Sangham:

My Sangham, an educational portal for women in the rural areas is an inspiring initiative to support the women empowerment. This contains videos of different activities in a collection of languages for the users  to make them self-dependent and strong.

Robotics in Medicine:

Robot-assisted surgery,  which allows doctors to perform surgeries with more precision, and less complexity. The Amrita Institute of Medical Sciences is the first hospital in India to use robotic technology for neurosurgery. ROSA,  the technology which gives robotic assistance  to Epilepsy and similar cancerous diseases. The robot helps in detecting the correct path through which the electrodes are injected into the cranial area for the surgery.

There are much more vibrant projects associated with AMMACHI labs. To know more about it visit : http://ammachilabs.org/

 

 

 

 


Creating a simple “Hello world” application on Android Studio

Android Studio is the  IDE (Integrated Development Environment) for android application development.We will be working on Android studio to make our first application “Hello world”.First, download the Linux SDK from the Android website.

Copy it to some location and unzip it to extract the contents.

sudo apt-get install unzip

sudo tar xvzf android-studio-ide-135.1641136-linux.zip

Open a terminal from the location

cd android-studio-ide-135.1641136-linux

Run the following command to load the android studio.

./studio.sh

Once Android Studio is launched , we need to mention JDK path in the installer.If JDK is not pre-installed,it is possible to install it from there.Go to next and specify the JDK path.After that select the components required to build the application which includes Android Studio,Android SDK,Android Virtual Machine and performance (Intel chip).In the next option,we need to give the path for Android studio and android SDK.Next,you will be asked to specify the RAM space for Android emulator.It is 512 MB by default.The final step is the extraction of SDK package into our machine.After its successful completion,click on finish button.

The Android Studio Setup Wizard appears.Select new application and name it.Then we need to give the minimum SDK requirements.In the next step,select a blank activity.This opens a development tool for our application.

Go to  App>res>layout>Activity_main.xml

In the design area, drag a text view widget and type “Hello world” in it.

We can test our application either by creating a virtual Android device or by connecting a phone to USB debugging(developer) mode.

Connect to the device.Run the application.You will see the “Hello world” message in it.

                                       studio17

YaaY!you have made your first android application.Play with Android studio and explore it to depth 🙂

.

 

Laravel

Recently I wrote an article on the framework Laravel.Let me wrap up the main contents of the article here.

What is Laravel ?

Laravel is one of the best open source PHP web framework.It is an elegant  and comfortable framework to work on.It has a very neat syntax and makes web development easier.The prerequisite to work on Laravel is the basic knowledge in PHP. It follows MVC (Model View Controller) Architecture.It was created by Taylor Otwell in 2011.

Key Features:

Laravel holds the following key features which make it a flexible framework.

Routing system-It automatically create links to the named routes and insert the correct URI. A directory(where all routes are specified) is created.If a file text.php is added.It can be accessed by browsing to ‘localhost/directory/text.php.

Unit testing-It runs many tests to ensure that new changes are updated correctly.It is easy to write unit-tests for the own code.

View composers-These are class methods that are called when a view is returned.

Bundles-It provides a modular packaging system with many features and add-ons to the application.

Composer-This is a dependency manager to add framework-agnostic and Laravel-specific PHP packages available from the Packagist repository.

Automatic pagination-Automatic pagination simplifies the task of implementing pagination, replacing the usual manual implementation approaches with automated methods.

Form request -It is a special class for validating and authorizing form submissions.

Database seeding -Updating database tables with selected default data.

Migrations-Adding the changes of the application’s codebase in the database layout.

Authentication-It contains the ready to use inbuilt authentication system. You just need to configure database migrations, models, controllers and views to make the system work.

Restful controllers – It allows you to create methods directly from your controller which gets automatically mapped to your routes.

Query builder- Laravel’s query builder provides a set of classes and methods capable of building queries programmatically.

Controller method injection-Dependencies can be injected directly to the methods.There is no need of constructors.This helps to write neat codes.

Eloquent ORM-This allows us to work with the database objects and relationships using an easily understandable syntax.

Inversion of control (IoC) principle-It is a Programming style where a framework controls the program flow.

Blade-Its a system for maintaining templates.

Command Line Interface (CLI)-Artisan is the CLI used in Laravel.It provides a number of helpful commands that can assist you while you build your application.

Installation and environment set up:

First set up the environment

$sudo apt-get update

$sudo apt-get upgrade

Install LAMP (Linux, Apache, MariaDB, PHP)  server.

$sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt php5-mysql php5-gd

I would recommend you to use PHP 5.4 or above because of the older versions installation of dependencies with composer takes much time.

$sudo apt-get install python-software-properties

$sudo add-apt-repository ppa:ondrej/php5-oldstable

$sudo apt-get update

$sudo apt-cache policy php5

Install the necessary PHP along with the needed extensions.

 $sudo add-apt-repository ppa:ondrej/php5

 $sudo apt-get update

 $sudo apt-get install php5 php5-mcrypt php5-gd

 $sudo php5enmod mcrypt

Install composer

$ curl -sS https://getcomposer.org/installer | php

Then we need to move composer to the bin directory and enable permissions to the folder.

$ sudo mv composer.phar /usr/local/bin/composer

$ sudo chmod +x /usr/local/bin/composer

Clone the master repo of laravel from github.

$cd /var/www

$git clone https://github.com/laravel/laravel.git

We get into the code directory and install all dependencies needed with the help of composer.

$ cd /var/www/laravel

$ sudo composer install

Then give proper permission to files with chmod command as used before.

Create a new directory  for your new Laravel project. After that, move to the path where you have created the new directory and type the following command there to install Laravel.

$composer create-project laravel/laravel –-prefer-dist

Start Laravel service by the following command:

$php artisan serve

You will see a URL. Open that URL in the browser. To ensure that Laravel has been installed successfully .

webpage

 

Application Structure :

The root directory of Laravel:

app − This directory contains the core code of the application.

bootstrap − It contains the application bootstrapping code.

config − It contains configuration files of the application.

database − This folder contains  database migration.

public − This is the  root file of the application. It contains the assets of the application like JavaScript, CSS, Images, etc.

resources − It contains raw assets ,localization and language files, and templates .

storage − It has app storage,framework storage , and application-generated logs.

test − This directory contains various test cases.

vendor − It  contains composer dependencies.

App directory contains the following subdirectories :

Console − All the artisan commands are stored here.

Events − This directory stores events that your application can raise.

Exceptions − It has the application’s exception handler.

Http − It contains your controllers and requests.

Jobs − This directory contains the queueable processes for your application.

Model view controller flow :

Laravel follows the model-view-controller (MVC) architectural pattern.A browser sends a request, which is received by a web server.This request is given to the Laravel routing engine.Based on the routing pattern Laravel router sends it to the controller. Sometimes, the controller will immediately render a view, which is a template that gets converted to HTML and sent back to the browser. More commonly for dynamic sites, the controller interacts with a model and communicates with the database. After invoking the model, the controller then renders the final view (HTML, CSS, and images) and returns the complete web page to the user’s browser.

laravel_mvc

Advantages of the framework:

Laravel is an elegant framework with many assets. It has clean code and APIs.The code is easily maintainable by the developer.It has a strong version control system and user-friendly interface.The customized tools in Laravel help in the development of application easier without any complications.With an integrated unit testing support system, we can ensure the proper working of the application.It provides high performance and security.Laravel framework stays up to date with the technology.Many versions with more features have been developed to extend the whole framework .

My SSR Project

One of the great opportunity I got from Amrita was the Students Social Responsibility project.This project aimed at improving the social skills of students by making them more responsible towards the society.We,a team of four decided to visit the tribal village at Cherukara ,a remote place at Kulathupuzha gramapanchayath, Kollam.We enquired a lot about the place and contacted the panchayath member of the colony.She helped us a lot in completing the whole project.Our aim was to understand the environment and living conditions of the people,discuss the problems they are facing and helping them in all way that we can.

We started off our journey and reached there at about 10 o’clock in the morning.We traveled through the roads interrupted by rocks and tree branches.The transportation facility over there is very weak.Bus service could be only accessible from the main road which is very far away from the spot.There are over 30 families residing in the village.Most of them belong to the Kanikar community.The main source of income to them is agriculture.They cultivate crops,vegetables,e.t.c.However, some of them had made their way to teaching and other government jobs.There is an oil palm on the way to the village which is the another source of employment for the villagers.The women find their living through small-scale works provided by the kudumbasree units.

img_20160710_101659

The education of the children of the village is fully funded by the Government.At the 5th class,a test is conducted according to which the selected students are given free education till 12th class.These students stay in the hostels provided by the Government in Trivandrum.There are other schemes introduced by the Government to support the people in agriculture.The Government also built houses for them.The village is blessed with enough water resources so that there is no scarcity even in the driest seasons.Another problem faced by the people are the animal attack in their fields. Animals like pigs destroy their vegetation.The only way they could resist this problem is by fencing the field.But it is not that effective.One of the greatest risk faced by the villagers is the inaccessibility to a hospital.There is no hospital around 10 km.They had to rely on the monthly medical camps.We made the people of the village assembled in a common area and gave awareness on the importance of health.They were given proper education on cleanliness and communicable diseases.

After the discussion with the villagers, our main focus was the primary class children in the village.We taught them how to make their environment clean,save trees and avoid the use of plastics.We showed them posters and videos which described the methods of waste disposal.We showed them presentations on how to dream about a better career.The little minds were so enthusiastic that they made drawings,sang songs,danced together.
We distributed books,chocolates and writing materials among them.They were asked to write about their ambition in a chart and give a thumb print along with it.These charts were given to one of the girls who was asked to hang it on the walls of their classroom.We took pictures with them.On our way back we saw the Oorumoopan(the village representative) unexpectedly.He explained about the traditional festivals and rituals of the village.img_20160710_120830

It was a wonderful experience for us.We learned many things.We were able to understand life through a different aspect.The people of the village showed us the dedication and hard work  to their jobs.Through children, we could experience the joy of the innocent minds.Their dynamism and eagerness were really appreciable.dsc_0541

Rails Girls workshop ,Kollam(2016)

As a part of the Rails Girls event , my friends and I got an opportunity to conduct a Rails Girls workshop on April 6th,2016 at Amrita School of Engineering, Kollam. The event was focussed on the introduction the basics of ruby and rails framework to the students and motivating them to contribute to the open source community.

Participation:

There were  30 participants.Registration was on the spot.Everyone was given a P.C and a decent internet connection.The participants were really enthusiastic and many of them were confident enough to explain the questions given to them about the main topics discussed in the workshop.They gave a good feedback about the event.

Topics discussed:

The workshop started with the explanation of MVC architecture.The workflow of the elements in MVC was clearly explained with the help of diagrams and flowcharts.Then an introduction to Ruby on Rails was given which figured out the advantages of Rails over the other frameworks.

Then students were asked to kick start their lessons of coding in tryruby.org which was very helpful for them as it made the learning easier.Then there was the “Rails app making” session where they were guided to make an application on rails from scratch.It was an application  where we could update our name and status of work.The main tutorials followed were “Getting started with rails” and “Learn Web Development with Rails” written by Michael Hartl.

Coaches:

The workshop was taken by Ms.Aishwarya Subramanian and Ms.Avani Lodaya,former RGSoC participants, and developers.They took the session in a very interesting manner.It was fully fun loaded.The participants actively gave responses and clarified their doubts.

Organizers:

The organizing team included Amrita Reghunath ,Amrita Nair,Aparna Gireesaan and myself.The team was co-operative and friendly.It was fun to work with them.

We were really excited to conduct the workshop.This is the first time that we are organizing a workshop and yeah, it came out to be a great success with God’s grace.We would like to thank everyone who supported us to make it happen .