15 December, 2013

BRL-CAD in GCI updates

The Google Code-in is a contest to introduce pre-university students (ages 13-17) to the many kinds of contributions that make open source software development possible. This is the second consecutive year when the esteemed open source solid modeling tool, BRL-CAD is accepted to participate in Google Code-In, out of the total of 10 organizations chosen.  

Many of you would be wondering about the participation of BRL-CAD in GCI so far and hence, I came up with this post. The contest runs from November 18, 2013 to January 6, 2014. Its December,15 today, where we are exactly half-way on the journey. This year BRL-CAD has received an over-whelming response from young smart talented kids from all around the world, where they are contributing to small itty-bitty tasks of not more than 72 hours based in various domains related to software development and maintenance like Coding, Documentation and Training, Quality Assurance, User Interface and Outreach and Research. 

After many task claims, reclaims, rejection, improvements, exchange of ideas and views between students and mentors via comments, IRC and mailing list and then acceptance of each task, till date, 87 tasks with minutely observed perfection have been closed successfully. 3 tasks are with status 'Needs Work', which means one of the mentors has sent back those tasks for more work. 4 tasks are on the to-be-reviewed list of mentors, 7 tasks currently claimed and 21 tasks are reopened and 85 tasks open with a total of 207 tasks.
I hope the young brains are enjoying while they work on the kinds of tasks they are comfortable. It is not just about working on tasks, it means much more than that. I bet, being a part of an awesome, cool and one of the most friendly open source organizations and working in collaboration with fantastic perks all across the planet Earth at such a small age will be an astronomical experience for participants. 

A huge thanks to all participants for making it a huge and happening contest. Thanks to all mentors for adding tasks time-to-time to meet the demand and supply curve of fresh new tasks. Special thanks to Sean, the man without whom BRL-CAD's participation in GCI is hard to imagine. All the best kids for rest of the contest. A ticket to Google’s Mountain View, California, USA Headquarters is awaiting for two grand-prize winners. Good Luck ! :) 

02 December, 2013

EOS - 5

#define EOS "End Of Semester"

proc finish( )
{
    global semester #5;
    close( );
    exit( 0 );
}

proc courses( )
{
    puts " IT214 Database Management Systems ";
    puts " IT301 Introduction to Algorithms ";
    puts " IT304 Computer Networks ";
    puts " CT321 Digital Signal Processing ";
    puts " EL203 Embedded Hardware Design ";
    puts " HMxxx System Policy and Analysis ";
}

proc new_tools( )
{
    puts " PostgreSql ";
    puts " ns  ( network simulator ) ";
    puts " MATLAB ";
    puts " Arduino ";
    puts " Verilog ";
    puts " Eagle ( PCB Design ) ";
    puts " ATMEL AVR ";
}

proc activities( )
{
    puts " Convener, Programming Club at DA-IICT ";
    puts " Completed GSoC project ";
    puts " Mentor GCI (Google Code-In 2013) ";
    puts " PS: Due to exams and last moment preparations, I hardly had time to contribute and encourage the students of GCI. It began on 18th November, and I mentored just 2-3 days in beginning then and then the graph reduced exponentially. Its great that there is still approx 1.5 months to end. "
}

proc funny_moments( )
{
    puts " 24 hours before each EHD paper, none of batchmates aware of actual course :D "
    puts " During endsem SPI (SPA) course exam, I actually noticed on question paper, the name of the course is System, policy and Analysis and not System, Policy and Implications :P"
   puts " Burning mid-night oils in lamps before exams "
   puts " Dirtiest room of the wing award ;) " + " PS: I just stay in my room 2 AM to 8 AM for sleeping, that too only weekdays :D "
}

proc experiences( )
{
     puts "Met some really sweet, nice, kind and loving people. Some, whom being in the same college, had interacted hardly 2-3 times in first 2 years and in just next half a year have been too special for me. I shouldn't say this, but got rid of some real f*cking fake people. There were few, who supported me in every action, every activity I did. Motivated me and made me laugh when I was nervous, taught me entire course last day before exam also due to a long break ( atthai() ) and some envy fake friends, whom asking a single 2 minute doubt reacted - 'Kesha, I can't explain. I am too busy now studying !' Unveiled the mask of some friends. Hell with you ! I know you are fucking jealous of me that in-spite of studying day-and-night, more than me, and doing no great extra activities except studying, you couldn't beat me even once in last 4 semesters. You know what, I just give you two words in reply to your attitude towards me " THANK YOU ". You have taught me to live my life, my way, walking on my own path, the path I would draw. Putting the first leg out of my comfort zone was difficult, but yes the second step was damn easy. Gave me a completely new confidence, new identity, new strength. I completely owe you guys a lot for this. Interacted with many juniors also. Few have hell lot smart brains than I expected from first year- second year, completely enthusiastic kids. Long way to go guys. I am happy that I could support you, help you and teach you. Thanks programming club for this. Thanks IAS, IEEE Student Branch DA-IICT for inviting me as speaker to share my internship experience and motivate many souls. "
    puts " With each passing day since second year, I look forward and have become more open to life and learnings. I expect that this college-life never ends. I have so much in the world to learn, to experience and to feel that entire life would be short and this realization was made by DA-IICT. I love you DA-IICT. I am sure, one year after this, when I graduate, I will be a completely different person than what I had entered 3 years back. "
}

proc atthai( )
{
    puts " You might not have guessed from the function name .. Its a religious festival in Jainism, where people devote 8 days in a year, in the name of Almighty and keep various kinds of fasts as per their capabilities. I never knew, how many days can I survive without having a bit of food and just boiled water drinkable 12 hrs a day, so  I decided to take up this challenge - "Atthai". I call this a challenge and not a path to achieve moksha, THE DESTINY. I don't think not eating for a couple a days, someone is opening the path of heaven keeping the path of belly closed. This might hurt the sentiments of few people, but these are completely my views..I wanna write more about this, but maybe in some later post or else this would grow quite large. "
}

proc begin( )
{
   global semester #6;
   start( );  
}

17 November, 2013

Mentor, Google Code-In

Yay ! Selected as a mentor for Google Code-In, is a contest to introduce pre-university students (ages 13-17) to the many kinds of contributions that make open source software development possible. The Google Code-in 2013 contest runs from November 18, 2013 to January 6, 2014.

These tasks include:

Code: Tasks related to writing or refactoring code

Documentation/Training: Tasks related to creating/editing documents and helping others learn more

Outreach/Research: Tasks related to community management, outreach/marketing or studying problems and recommending solutions

Quality Assurance: Tasks related to testing and ensuring code is of high quality

User Interface: Tasks related to user experience research or user interface design and interaction

It would be fun adding tasks, mentoring students from all over the world, guiding them to solve tasks and making young developers step their first foot in the world of open source development.

Its just 24 hrs for the program to begin... Quite excited.. Stay tuned for more updates.. Will be blogging my experiences and participation in BRL-CAD soon..

Signing off.

20 October, 2013

Installing BRL-CAD

This blog explains how to install BRL-CAD latest release into your home directory in an easy way.

STEP 1: 
Installing Developer Tools
sudo apt-get install build-essential make cmake
sudo apt-get install sed byacc flex xsltproc
sudo apt-get install libncursesw5-dev libfontconfig-dev 
sudo apt-get install xserver-xorg-dev
sudo apt-get install libx11-dev libxi-dev libxt-dev libxau-dev libxext-dev libxmu-dev libxmu-headers

STEP 2: 
Download BRL-CAD
svn checkout svn://svn.code.sf.net/p/brlcad/code/brlcad/trunk brlcad
This may take longer time, depending on your internet speed.

STEP 3:
Dive into the source
cd brlcad

STEP 4:
Configuring from source 
mkdir .build
cd .build
cmake .. -DBRLCAD_BUNDLED_LIBS=ON

STEP 5:
Compiling the source
make
make test

STEP 6:
Installing the source
sudo make install

To verify , check
ls -la /usr/brlcad
/usr/brlcad/*/bin/mged

STEP 7: 
Quick Test:
You don't have to install, though, and can just run binaries that are in the brlcad/.build/bin directory.
bin/benchmark
bin/mged

Congrats ! You have just installed BRL-CAD from source.

For more information on use of specific option for a specific functionality, refer README and INSTALL files in the cloned source code.

Note: I use Ubuntu distro of Linux and the commands for installation may change a bit depending on the distro you use.

You may also wish to join  brl-cad mailing list  and IRC to get involved with BRL-CAD development. No matter what background you come from, you always have something to contribute and be a part of this awesome community.

Hope to see you getting involved. :)

References: http://brlcad.org/wiki/Compiling

25 September, 2013

Tutorial 1: How to View Step-files in BRL-CAD

If you have BRL-CAD installed on your system, there will be a 'step-g' command, which will allow you to convert STEPfiles i.e. those in .step and .stp file-formats to .g i.e. database of BRL-CAD.

Usage: step-g -o outfile.g infile.stp 

In this tutorial, we will visualize a sample .stp file.

Consider this .stp file. You can copy the data from this file to your working directory and name it bull.stp. We have the output how it should look as below.


After you have bull.stp and BRL-CAD, just type the following command on terminal.
" step-g -o bull.g bull.stp " 

If it was successful, a file named bull.g will be created and you can view it in mged/archer.

" archer bull.g "
or
" mged bull.g "

For archer, just right click on 'None'0.r under Tree on left pane and select Wireframe.

For mged, type the command mged> " draw 'None'0.r "  on the command window of mged.

You will see the outline for model bull.g created which would look as follows :-


And to see the model, just raytrace it.

For mged, go to File -> Raytrace. This will open a dialog box named Raytrace Control Panel . Click on 'Raytrace' button.

For archer, in the top pane after menu bar, there will be a camera looking button which will read 'Raytrace the current view'. Click on that.


To remove the wireframe, in mged in the Raytrace Control Panel, there is menu called Framebuffer,  select overlay from it.

In archer, in the same pane as Raytrace current view, there will a option called, 'Change Framebuffer Mode' just besides raytrace. Click on that.

Final View is -

which is similar to that we saw before-


I hope you enjoyed this. If you get any error and/or queries and/or suggestions and/or feedback, comment below. :)

22 September, 2013

Short Summary of GSoC project

This is the first year in which I was eligible for GSoC program and was selected by the highly esteemed open source community BRL-CAD. Before joining the project, I had just the glimpse of how large code bases are maintained, but had never got hands on experience with them. I used git version control, but that just limited to handling my college project.

I would like to rewind and fast-forward the 4 beautiful months of my life, the best in terms of experience and knowledge gaining and learning summer quickly below-

Initially, before the project submission deadline, I submitted few small and pretty code refactoring patches to BRL-CAD to get myself famaliar with svn version control system and other basics for working with gsoc project.

Upto the student selection date, I worked on an issue of github to get famaliar with github version control system, on which STEPcode is managed. In this period, I got to know abt diff tools, working with git version control in a better way, gdb debugger, doxygen and how to write comments and observed some good tactics related to coding followed in industry, like taking minute care from declaring variable names to introducing magic numbers and to see that in future there will be no false positives and bugs introduced that would create problem in long run.

In between the selection period and the actual program period, it was the community bonding period as well as time for release process of BRL-CAD 7.24.0. I helped in formatting the release notes for this major release and got some experience with release procedure.

After the actual beginning of the program I worked with open issues of github and got it merged on the mainstream. One was removing all cppcheck warnings from stepcode. There were mainly 6 types of warnings reported in STEPcode by cppcheck which included unused variables, preference for preincrement/decrement, sscanf() to prevent overflow, strncpy not '\0' terminated, C style pointer casting and reducing the scope. After clearing those,  I ran cppcheck on brlcad trunk and uploaded the output to refactoring page of brlcad. Also, I made a patch for preference for preincrement/decrement from that output and cleared those warnings from cppcheck on BRL-CAD sources.

The next issue I worked on was installing the headers from the central files used in the minimal example. This included installing headers from 10 directories of stepcode. Now, anyone can just do sudo make install and start using the API's like any other library.

After that, I worked on checking the step-g importer on brlcad and wrote regression tests checking the step-g importer with 3 small and simple step models. I also read and knew about how to use anything from net with a copyright and use the license. I had never dealt with those kind of scenes before.This test will confirm the working of step-g importer and check for the geometry by checking volume > 0. I also looked upon the todo task on brlcad wiki and deleted those which were already done and added a prototype and Todo comments in the trunk to make it easily visible and more organized. These patches are still awaiting review by mentors. 

I forgot to mention about my experience with STEPbot, my experiment with a bot for channel #stepcode on IRC. And one fine evening, when I logged on to IRC, I was surprised to see an infobot similar to that on #brlcad already implemented  and hence the logs of that channel could be archived very easily.

A huge thanks to Mark, my mentor who has been the best mentor I could ever have. He had been by my side at every 'step' of my project guiding me and providing quick response and feedback of my work and effective guidelines throughout the project. Thank you Sean. You are the best project manager I ever saw. Along-with the help in technical aspects, I loved how you used to motivate and inspire me. Also, I liked your way of getting answers from me instead of giving solution directly,no matter if it took an hour for a simple thing. :) Thanks Cliff, Erik and all other GSoC students, my friends and family who had been as a support anytime in the last 4 months. I could not imagine my project being complete without you guys. Awesome, cool community, i must say. :) Thanks all once again.

Future plans - In past a week or so, I observed that a lot of people were posting queries related to STEPcode. They were asking for good tutorials or easy-to-understand links. So, I think, I would first make tutorial for beginners on STEPcode. And next, after that I am willing to get my hands on step exporter. My plans till next summer is to work and get familiar with the step-exporter and dedicate my next summer to it.   

You just walked with me on my journey of past 4 months. I know, this has been too long and thanks for your precious time reading this. Hope you enjoyed the walk. These are my daily logs and reports
Any comments and suggestions are welcomed. :)

Three Cheers for this awesome summer ! 

18 August, 2013

Are We Really Independent ?

15th August 2013:

This is the day when we get up,stand up and salute the tricolored flag that furls high. The entire nation sings national anthem and patriotic songs and share their love for India in various forms like independence day texts, status and posts on social networking sites. The bell of liberty seems to have rung 66 years ago, but looking at the current scenario, I often wonder "are we really independent ?"

In layman's term Independence = Freedom.

But according to me, True Independence = No Corruption + No Bribery + No Inflation + No Rape + No Poverty + No Malnutrition + No Social, Political, Cultural or Environmental evils.

After 66 years of independence, still we are have to protest, arrange for mass agitation to change the government. On contrary, if we were really independent, we just needed the right votes, the right power to go in the hands of right people. So easy to do, yet so seldom. Many citizens do not realize the importance of most fundamental right, the right to vote. We complain about the bad governance and then do nothing to change it. A bad government comes to power because of the good people who do not vote.

From being the ‘Golden Bird’ to being tagged as a poor, under-developed nation, India has faced it all. Till 1947, India was slave of Britishers. In 2013, India still is a slave, slave of our present system. Corruption, we all know about it but cannot do anything because the whole system in itself is corrupt.most Indians detest the whole system of bribery which bleeds our time, efforts, resources and wealth to line the pockets of a corrupt, controlling people. They have held us to ransom because we have not known how to fight the system.

Increased price of goods commodities, services and taxes, the ever increasing inflation has forced the common man to borrow money from banks and other financial institutions. The consequences, of course people have to stand with indefinite debts or either have to cut down on their lifestyle or beg for hike in compliance with inflation to assist them move at the forefront. This scene becomes more worse when inflation attacks the necessity- food and agriculture sector. Poor are not able to afford basic meals and malnutrition among children is increasing. Though, government is introducing various schemes and policies, but they don't seem to work out well.
Here is no job security, no life security. Neither our investments nor our daughters are safe. On every second day, newspaper talks about a new rape-case. We have got freedom of speech, but who is there to listen to the words of common man? The situation prevailing is such, you keep the rights you fight for and lose the rest. There are many loopholes in the system, which can't be counted on finger tips nor can be they listed in one article.

"On one side there was Netaji, Netaji Subhash Chandra Bose and other side are our present Netajis (Politicians), who are rewarded not because of their WORK but because of their NET-WORK." -Nitin Gupta (Rivaldo)


But, as I said earlier also, this nation is a dangerous place not because of people who do evil, but because of good people who do nothing about it. Though I have criticized so much about India, I have no right to speak about the these. Everybody complains about stinking gutter, but very few actually go inside to clean it. I believe, instead of complaining, if you want to change the system, be part of it and then revolutionize it.

28 May, 2013

Google Summer of Code 2013 SELECTED

yayyyy....
yupiieee...
yahoo.....oops Google ! :P

I am so happy to be selected for GOOGLE Summer Of Code (GSOC).


> Selected at the minimum age of 18
> With the second oldest open source organization BRL-CAD
>  Submitted proposal to only one organization
> Only girl from Ahmedabad and Gandhinagar
> My first stipend in Dollars
> My first internship in life

I cant express in words how happy I am. :))

Looking forward to have an awesome summer :')

26 May, 2013

BRLCAD- Fix a bug every 8.7 minutes


With almost 30 years of active development under its belt, BRL-CAD is believed to be the second oldest open source codebase in the world that’s still under active development (VistA, the EHR of the Veterans Administration being the oldest). It has also been the primary tri-service solid modeling CAD system used by the U.S. military to model weapons systems for vulnerability and lethality analyses.
BRL-CAD is a powerful, cross-platform, open source combinatorial Constructive Solid Geometry (CSG) solid modeling system that includes interactive 3D solid geometry editing, high-performance ray-tracing support for rendering and geometric analysis, network-distributed framebuffer support, image and signal-processing tools, path-tracing and photon mapping support for realistic image synthesis, a system performance analysis benchmark suite, an embedded scripting interface, and libraries for robust high-performance geometric representation and analysis.
BRL-CAD is written in a combination of C/C++ code, is just over 1 million lines of code, and includes a developer community of approximately 12 core developers and 20 committers to thesource code repository.
Due to the critical nature of how and where the code is used, BRL-CAD has a long-standing commitment to code quality and implements strict compliance in the code. The BRL-CAD team has spent a lot of time maintaining and cleaning the codebase, including frequent refactoring, and has implemented a variety of quality measures over the course of development, including aCoverity Scan.
The solid modeling system is frequently used in a wide range of military, academic, and industrial applications including in the design and analysis of vehicles, mechanical parts, and architecture. The package has also been used in radiation dose planning, medical visualization, computer graphics education, CSG concepts and modeling education, and system performance benchmark testing among other purposes.
In April 2011, the BRL-CAD source code was put through Coverity Static Analysis as part of its involvement in Coverity Scan, evaluating approximately 840,000 lines of code (1.2 million actual codebase size with comments and whitespace). Over 1,800 defects were flagged by Coverity Scan. According to a project leader, Coverity showed BRL-CAD "a different caliber or class of issue" than other testing and quality measures they have adopted in the past. The project leaders were "quite ecstatic" with the results provided via Coverity Scan, but then needed a way to address these newly found defects.
In November 2011, Christopher Sean Morrison, a lead contributor to BRL-CAD, posted a call for participation to the developer community for a physical get-together to share knowledge about defects and help resolve the issues detected. The call for participation can be found here:
Last week, we were finally able to get a FULL valid Coverity scan of the BRL-CAD source code! If you're interested in helping resolve the  issues detected, please join in our development discussion on the brlcad-devel mailing list or IRC channel and introduce yourself.
The outcome of this effort was published in the Coverity Scan: Open Source Integrity Report of 2011:
The BRL-CAD project community off-site was held in January 2012, just outside Baltimore. Half of the core development team participated in person and two contributed remotely for eight hours a day over a five-day span. The BRL-CAD development team first outlined the entire defect management workflow. 
The goal of the off-site was to fix all outstanding defects instead of a multi-pass "prioritize then fix" approach. Specifically:
  • Inspect and fix all issues discovered by Coverity
  • Peer review, verify, and validate all changes
  • Categorize and document all changes
  • Educate on common defect patterns
So how did the team do?
  • Inspect and fix all issues discovered by Coverity – 90%
  • Peer review, verify, and validate all changes – 10%
  • Categorize and document all changes – 100%
  • Educate on common defect patterns – 100%
The group was able to decrease outstanding defects:
  • From 1,840 to 186 after five days, a beginning defect density of .0022 which decreased to .00022 (defects per thousand lines of code)
  • This equated to approximately 330 defect fixes per day
    • 42 fixes per hour
    • A fix every 87 seconds across the team
  • Per individual developer this equated to approximately
    • 55 defect fixes per day
    • 6.9 fixes per hour
    • A fix every 8.7 minutes
This process illustrates the unparalleled efficiency of open source agile practices.
Event though only 10% of the fixes started the code review process  The feat of being able to address 90% of the defects in a project (about 1,700 defects in this case), by a focused effort of one week, is something that traditional software development methodologies can only dream of.
In open source, this can be just "another day at the office."
Congratulations to the BRL-CAD team for this impressive achievement.More details about the process are available in the Coverity Report.

15 May, 2013

GSoC - 1

BRL-CAD .. One of the awesome open-source communities I have ever seen ! Its totally cool with developers being so much patient, cool, understanding, kind and helpful. I have made two patches for this community, and one for STEPcode. STEP is the Standard for Exchange of Product Model Data used by BRL-CAD and I am planning to work on it.

There is something very fulfilling about getting your first patch committed in some application that will be used by thousands of other folks all across the globe. I read this up somewhere and few days back when I actually submitted a patch I realized how awesome feeling was that. 

This seem to be a really important project for me, where I will apply my C and C++ skills.

Also getting involved and building network in such a great open source community is an awesome feeling. Discussing with great, smart people from different parts of the world and knowing them is fun.

Few developers, whom I would like to thank are Sean Morrison, Mark Pictor, Cliff, Charlie and Erik. Hats-off to you guys !! :))

12 May, 2013

50% Er. Kesha Shah

Yupiie, Semester 4 comes to an end. I never learnt so much as I did this semester. Looking back at past 3 semester, I feel they were a complete waste ! Not actually , though. If I had got this kind of exposure a year ago, I would be a better knowledge human being that now. But, its better to be late than never. Its never too late to mend.

The most highlights of this semester were-

1. I was introduced to open-source communities. I was an active participant at KDE-MEETUP 2013, a two day workshop held at our university. This made my interest grow and made up my mind to start contributing towards it. And today I totally love doing that job in my pass-time :) :*

2. Contributed for Out-reach program for KDE and wrote an article on meetup for dot. Interacted with Pradeepto, the member of board of directors, Carl Symons and his mentor, the editor for dot.kde.org.

3. Completed the TEXAS INSTRUMENTS project started last semester. Though we weren't selected for top3, learnt a lot many things by doing such a huge project.

4. Started android development. A SIG (Special Interest Group) was created in which experts from Monday Mobile came to teach about Android Development. The basics were covered this semester,  with their plan to continue it in next semester.

5. Made an attendance system as a part of Analog Circuits (EL) project. Applied the concepts of BJT's, MOSFETs , Opamps and filters learnt in the course practically. Further, combined it with MSP430 microprocessor and Arduino programming and connected it with intranet of DA-IICT to show the photo of the ID which had entered the class to avoid proxy attendance.

6. Learnt to live life independently. Not being dependent on others. Without worrying about what people bitches and gossips, I learnt to do whatever I feel right. This gave me huge confidence in me and I love the way I am now. :)

7. Made some contributions to the programming-club at DA-IICT. Participated in contest and earned a T-shirt for my programming skills. Also, learnt to set a contest and contributed a problem on spoj ( SPhere Online Judge), for a contest made for juniors. Planning to be in the core committee of programming club at DA-IICT.

8. Started writing article for entelechy - the editorial for DA-IICT.

9. Being highest CPI till last semester, I thought I don't need to study hard this time. And started studying a fortnight before exams. Guess what, this semester also I topped with 9.74 SPI . Thanks to environmental studies for the loss of 0.26. Except for that, an AA grade in all courses. :)

10. Being in the list of "Heros of DA-IICT" for donating blood in the blood donation camp.

11. Won a cool t-shirt from programming club @daiict for my programming skills.  Planning to be committee-member in future.

12. Started writing this blog ! Hope to maintain it :)

25 March, 2013

LED TORCH Project

This was my first Electronics Project, guided by Prof. Chetan Parikh in 1st semester of DA-IICT. Though it sounds so simple and tiny now as compared to huge projects like Obstacle detector and Texas Project, this was not the case two years back when I was hardly familiar with how a circuit already given was actually implemented.

We were told about how the circuit should look like but the toughest task was to find the appropriate values of resistors so that current through LED is not to high and not to low. It should give a bright light as well as long life. Finding current through each branch applying the concepts of Norton's and Thevenin's circuits, Nodal equations and Kirchoff's current and voltage laws and checking them practically to be correct was quite exciting.  ( In the process of testing, 4 LEDs had scarified their lives :P)

Even the soldering had been hair pulling thing. Many a times the wires got short and even I burnt my hand once. But once the led worked well all the pain had been forgotten. This was my first step in the world of electronics which motivated me for next level projects.

The Prototype we were given looked like-

After implementing this circuit, we had some more time left for submissions and added an extra yellow LED to indicate the switch was on/off. And the Final Product looked like-




Once when there was a power-cut in hostel, I used this LED to emit a ray of light in sheer darkness and it gave a super- awesome feeling. :))

Rural Internship 2012

The number of poor people in India, according to the country’s Eleventh National Development Plan, amounts to more than 300 million. And for a developing nation like India, such a huge mass of people plays a very important role. Upliftment of rural and tribal people and making them more aware about  how they can play a role in shaping India's future by teaching them upcoming basic technologies, observing challenges faced by them and trying to figure out solutions by applying ICT was the main reason behind this one-month internship.

Under the guidance of Prof. B.N. Hiremath, I volunteered at NGO People's Training And Research Center , Khambhat . This is a voluntary organization working on issues related to Occupational Safety and Health and other aspects of labor life. Even before PTRC was registered in 1992, it was involved in activities like Vyavsaik Syasthya Suraksha Mandal (Occupational Health and Security Group) since 1986.

We were posted in one of its projects at Shakkarpura, Khambhat, a small town near Anand district with a population of about 11500 people and the population mainly comprises of Muslims, Kshatriyas and Scheduled Caste(SC). The major occupations in the village was cottage-units based Agate Industry substituted with farming, kite making, salt-making and cattle rearing as the Agate industry is very hazadous to the health of workers because of silica dust that becomes air borne during the processing of agate stones. This particles, when inhaled continuously for a long time, settle in the lungs of workers permanently, resulting in disease silicosis. There is no none cure or treatment for it and about 70% of village population is involved in it.


In Khambhat, PTRC works for the prevention of Silicosis among the workers of agate industry. They run a day care center for the children of women working in the agate industry to prevent silica exposure among them, run weekly clinic for silicosis victims in collaboration with Sri Krishna Hospital, Karamsad And Cardiac care Center in Khambhat, provide free medication to the victims, help the Silicosis Victims Association in advocacy for their rights, support widows and school going children as well as bed-ridden agate workers. I was a part of this program at Shakarpur Village in Khambhat.

The work assigned mainly included IMPARTING TECHNICAL EDUCATION to the staff of NGO. They required help in learning the basics of computers as they were trying to computerize the existing records of patients and other details. The main office work was maintaining records of the agate workers and silicosis patients, and thus, teaching them Microsoft Excel was most important. We started with basics and moved on to features like sorting and filtering which are especially useful for them as they require to organize the workers’ data. The staff was also taught other Microsoft office features which included PowerPoint and Word. Keeping in mind the necessity of Internet in this century, we created a mail-account on Gmail  This was helpful to them as they frequently require corresponding with the CEO, and often need to send him details of workers. Giving them a glimpse of what actually Google is and how the relevant information on any topic can be acquired from its database, further they were explored to g-translator & Google-Gujarati, which was quite useful for their lack of English skills. In the end, a small practical exam of the office staff was taken wherein they gave an exam individually and scored 70% on an average. After all had completed their exams, we gave them a quick-revision on the topics which were difficult to grasp for everyone.

The second most important task was ORGANIZING DATAUpdating the records of the silicosis patients with about 686 records with 18 long columns each with each small in a different file and plenty of mismatch datas and contradicting datas with 5 people having same name along with same last name!

 Mr. Jagdish Patel, our CEO, publishes a Gujarati newsletter called Salamati in which the data of accidental deaths in all fields collected from various newspapers are recorded. We compiled lists of the occupational deaths for the years 2008 to 2011.

Interaction with Silicosis-Affected Workers: We visited some silicosis patients. They have stopped working on the agate stones and now sit at home, with one person constantly engaged in taking care of them. We enquired about their medication and whether there is any improvement in their condition. We also asked about the means of their livelihood now that they are unable to work. Families of patients have taken up farming or kite-making to earn their bread. In some cases, the wife continues with the same grinding work despite seeing her husband's condition. Although the NGO provides them free medication, the cost of coming up to the dispensary is also high for them.

Observing the processing of agate stones: From what we observed, I strongly feel there is a need for an improvement in the existing technology of agate grinding. As instructed by Mr. Patel, we observed the various procedures involved in the processing of agate stones and made a small note which explained each stage in great detail. This note is to be presented in organisations like Techpedia and Sristi which encourage innovation at the grass root level. Here is a summary of the observations:
1.      The stones are first heated in a furnace to make them easier to cut.
2.      Then, they are chipped with a hammer (made of cow or buffalo horn) into small pieces. This work is done by ‘fodiyas’ or breakers.
3.      The stone pieces are fed to a wooden drum where they are rotated for several hours. This is done to give rough rounding to the stones. This is a highly dusty process.
4.      The broken pieces are ground into finer shapes. This work is done by ‘ghasiyas’. The grinding wheels are motorised but the machine itself is not automated. There are two machines available for this work, depending on the shape of the stones required.
a)      Vertical shaft grinding machine (bakdo): Any type of shape can be produced by this machine. There are two subdivisions:
1)      Bakdo emery. This consists of a vertical shaft where the emery wheel runs horizontally. It is a dry process and a lot of dust is generated.
2)      Bakdo diamond. Here, the cutting wheel is cobalt coated. This machine involves a weight process method, in which water is dropped on the wheel so that the dust doesn’t become air borne. The dust generated is less than that in the case of the emery wheel.
b)      Horizontal shaft grinding machine (Patiyu):  It is used for making equal-sized spherical beads which can be used in making necklaces. The emery wheel is rotated with an electric motor. The beads are held in the grooved notches of a wooden plank against the movement of the wheel.
5.      To drill a bead, the worker places the bead in a wooden stand. Drilling is done by a long spindle studded with diamond on its top.
6.      The processed stones are placed in an electrically rotated drum for around 15 hours to give the stones lustre.
Of all the processes, the work of the ghasiyas (grinders) is the most dangerous. A lot of dust is generated in the work environment and the workers hardly employ any methods to protect themselves. As such wearing masks (cloth) is not effective since the particles of silica dust are smaller than the pores in the mask. The weight processing is the only method that has been accepted and implemented to reduce the dust levels. But in this method too, the workers are required to put more efforts and consequently complain of backaches. The production of spherical beads on the horizontal shaft (Patiyu) does not have any mechanism to control the dust levels. Also, most of these units are home-based, and even the non-workers including children are exposed to considerably high levels of dust, putting them at a risk from a young age. The so-called “maaliks” are not concerned about the exposure to which the workers are subjected during the different stages of processing, but just interested in the final product. This was highlighted when we went to meet a businessman of agate stones. The entire cost of the process has to be borne by the workers. The workers are sadly under-represented and underpaid. For the spherical beads, the workers are paid only ₹25 for every 1000 pieces. The price increases as the complexity of the shape increases, but even the highest price is about ₹5 for a piece which is still only about one-fourth of the price at which they are sold in shops and showrooms.

Helping the Doctor
Every Wednesday, a doctor from Karamsad Medical Hospital comes for weekly check-up of silicosis affected workers. We helped the doctor in finding the appropriate case papers for the patients and packing the prescribed medicines for them. The patients included people affected by silicosis as well as tuberculosis.

The most memorable and fun part, to which would never be exposed except for this internship was staying for a month in village. For two people who have lived in a city for their entire lives, living in a village was an entirely new experience. Of course, we had our share of doubts and apprehensions about the village life. Also, as our internship required us to work with the NGO employees as well as teach them, we were unsure of how the staff and the people of the village would react to us. However, these doubts were futile, as the staff gave us a warm welcome.
We were provided a room of our own in a small Dharmashala, while the caretakers, an old couple, lived in their house which was just in front of our room. They provided us breakfast and tea every morning.
We had the opportunity to interact with Kanti bhai and wife (the caretakers), our neighbour, Mitali ben, a jovial lady, and an old, retired man who also stayed nearby, apart from the staff of the NGO and the agate workers. Each of them told us their life stories which were very interesting, and also, we got to learn about the various customs, hardships and restrictions of the village life. What we were observing was a closely knit society where everyone practically knew every other person, and what one person did was everybody’s business. This was a stark contrast from the city life that we are used to because in a city, everyone is involved in their own lives.
The experience of familiarising the staff with computer basics was also not exactly what we anticipated. Since we, as engineering students, have become so used to being around the computer, it was a bit strange when we had to begin by teaching the difference between and a file and a folder. Nevertheless, the staff worked hard with us on this, and we are proud to say that by the time we left, they were able to manage and manipulate the data records on the computer on their own.
The plight of agate workers struck us the most. Apart from the obvious health related hazards of their occupation and the extreme poverty that they are living in, the workers also face social ostracism. Most of the workers are vary of strangers and live in the constant fear that somebody will stop all their business. We ourselves observed this when we went to see the different stages of agate processing. The people were suspicious about us, and they let us watch them work only because they knew Ramesh bhai (NGO’s staff member who had taken us to the field) personally. Even then, many of them refused to be photographed.
Rural life has its own charm, and the trials and tribulations that the people face are also different from the city life. It was illuminating to observe the village life and the different perspectives of the rural people.









25 February, 2013

Day 2 @ KDE- Meetup

Loading ..Loading ..Loading (100% Complete)

As you might have guessed (evident from title also :P) this post is to share about day 2 @ KDE Meetup..

Many people are expecting a huge- writeup for today but I really apologize as I am feeling very exhausted and tired at this moment. Its 2 am over here now, I am feeling very sleepy but I would finish off blogging now only. I think people are waiting eagerly for this post and I don't want you guys to hold on for next couple of hrs as am not sure when I would get some free time tomorrow. I really hate Mondays ! After an amazing weekend, its too hard to go back to lectures, labs and tutorials :( . Okay, I know I have deviated from the topic and coming back, today was sadly, the last day of KDE Meetup.

It began with introduction to Plasma Desktop Environment which was postponed yesterday. +Shantanu Tushar Jha introduced his audience to this familiar desktop environment, a tool required for modern desktop computing experience. Plasma is really cool ! Beautiful looks, pleasant to eyes and once can configure the way he wants just by few mouse clicks here and there. Adding widgets and creating a new activity and customizing how user wants is the thing I appreciate about Plasma desktop. +Shantanu showed his first accepted patch which motivated me and am looking forward to have one of mine very soon :)





Next, the session on KDE-Education Project by Rishabh Arora was worth in terms of taking a start with easy and small applications.

After spending some time talking about Google Summer of Code, Season of KDE and Code-In,+Vishesh Handa delivered a talk about Nepomuk, the social semantic desktop. He demonstrated some of the terms and functionalities like File Indexing, Email Indexing, Instant Messaging, Connecting data together, Ratings, Queries, Data Visualisation and many more things.Though aiming just to introduce user side, he actually scared people at a moment typing some shell command :P



After lunch, Hacking began. Hands-on workshop taught right from cloning a repository, building it from source to how about going around with change a piece of code, debug and actually run what one has modified. Finding which portion of huge source needs to be modified is one of the key features in going about fixing any bug. Today, in the workshop it was the first time I modified some piece of code and actually saw it working correctly. The task when requested Url http://www.google.com was requested it should actually load Url http://www.kde.org in Rekonq browser.

When I approached KDE mailing list for the first time, I was pretty confident enough that I knew C,C++ and other stuffs, but once when I looked real-world coding and Qt, I actually realized that I was in a huge misconception ! Running small lab codes correctly, one can't be call himself proficient programmer. And Yay ! I realized it very soon, before having my B.Tech degree. Most of the people whom I have interacted with have this realization when they join some xyz company.

Lastly, this kind of Meetups are really worthy and they should be organized frequently at different locations to spread awareness far and wide. 

24 February, 2013

Day 1 @ KDE Meetup

Loading .. Loading .. (50% complete..)

As you might have correctly guessed (evident from title also :P ),this post is about first day at KDE Meetup.

First word which strikes upon my mind describing this event is an "Overwhelming Response" from a huge crowd, not only from Gujarat but all-over India including Durgapur and Nainital. This was probably the first time I saw our Lecture Theatre actually flooding with no vacant spaces. (Hardly half of this during lectures :P). Having about 300 registrations and no more capacity in the houseful Lecture Theatre, wistfully, on-spot registrations after a point had to be refused.





The first speaker was +Pradeepto Bhattacharya, founder of KDE-India. It was really nice to hear that he had come to Gujarat for the first time and that also for KDE meetup. Along with his chats about the famous Gujarati  dish "dhokla", Pradeepto took us to the whole new world "KDE", the world which looked complicated to most of the audience before his talk. The interesting thing was that he marked today's event as a historical event in the history of KDE, which fascinated me. His lecture was motivational enough to inspire people to take up a fresh start in the world of software development. He started with history of KDE right from idea >> KDE1.0 >> ... >> KDE SC 4.10 >> Meetup 2013 and continued with stories of heroes like Debayan Benerjii, +Nikhil Marathe  (DA-IICTian), Vishesh Handa and many more.. which were meant to inspire and motivate people. Really it was a very good start up at KDE Meet up.


The next speaker was +Vishesh Handa , a crazy, funky, cool, open, down to earth and amazing person with an impressive personality. He looked very enthusiastic guy, quite willing to share his knowledge. He introduced us to Qt- where it is used, what it does and why we need it. And proceeded with demos for basic features like layouts, widgets, event loop and model/view. Qt is really too Cute.. :P Participants started throwing questions and looking at the zeal and zest of audience, they started giving goodies- a cool KDE-India T-shirt. He had to add, "Ask questions not because we have too much to offer :P". This session was highly engrossing and gripped the audience so-well that the slot alloted for Plasma Work-Space had to be postponed.

After lunch, there was some hands-on session for coding Qt, mostly concentrating on signals and slots in which I had coded a simple Calculator additionally. It was fun. +Shantanu Tushar Jha and volunteers  quite energetically ran from one part to another with a spirit of clearing each and every doubt. Last but not the least for the day, the session concluded with a small talk by +Vishesh introducing to git basics like init, add, remove, diff, status, log, commit, patch, checkout, etc..

Its rightly said, "Work Hard, Party Harder". After the official end of Day-1, we had KDE 4.10 Release Party. A Yummy, tasty, delicious cake-cutting combined with the KDE song in the background. A Perfect Combination !


The best part of this meetup was, even a person who never ever used any kinda Linux before, not even  having an installation till yesterday were able to understand and write a small piece of code in qt and play with git basics at the end. There was excellent guidance provided by speakers. I remember few days back when I had to struggle hard for about a fortnight to get a roughly clear idea about qt, git and tons of new terms I was exposed to for the first time during that period. A freshers knew about it in just 7 hrs through this meetup. :) 
As it is rightly said, knowledge expands by sharing, It gives awesome feeling when you explain someone about KDE. Though am a not a expert, just 1 month old kid for this world, I love sharing it with my friends and help them getting started, installing required softwares and connect with mailing list and IRC for the project which interests them. I have actually helped few of my friends and it gave me immense pleasure.
Also, one more thing I would like to mention is though the journey upto now in KDE was quite amazing and the things which I learnt would never have been possible if focused purely on university-courses, still, deep within I always had some kind of fear. But after todays' talk & listening to phrases like "I never knew git during my university days", I felt somewhat more confident. :P Even, when +Vishesh said he got involved with Open Source during his second year, it left an impression on my mind as I could actually relate it with myself. I find myself walking on a parallel track and it gave me visions about my future ;)

This post can occupy few more bytes, but I think I should finally conclude here. Kudos to +Yash Shah  and +GDG DA-IICT  team. He really worked hard, put in a lot of effort and faced many hardship,  and yes, today it has reaped sweet fruits. I would like to thank Vishesh on behalf of everyone for making life much more simpler. Shantanu Jha and Rohan, thanks a lot for helping out people with their queries.

LET THE HACKING START TOMORROW ..!!!

P.S: Thanks Vaibhavi for helping me with this post.