After a long time

This is a long pending post for so many things that have happened over a long time. I couldn’t post due to  so much of frenzy going around.

To start off, I conducted around 3 workshops and talks,

First one was a workshop for the Faculty of University of Pune, which was conducted at PVG College, Pune. It was aimed at giving a brief idea of how OpenStack works and Eucalyptus along with it.

I then went on to demo Cloud setup over Openstack.

Slides @

Second was a workshop on Android for a state level student workshop which was conducted for around 150 students from 28 colleges of Maharashtra. It was held at ADCET College Ashta {}.

This one was special for me, as I received a splendid response from the participants. It was awesome!

You can find demoes from the workshop over at

Then came a brief Lightening talk over Git and Ruby and Cloud, at the RubyConfIndia 2012.{}

Slides @

I then happen to have conducted a workshop on Blender at SKNCoE {} which was one whole day thing, and then the same at PICT{My College|}.

Well thats all about for now. There have been many exiting projects I have been working over, which I will be posting soon. But you can find many


Cube game Formula

Rubick’s Cube Game Formula


For all those who wondered how they solve that Cube, well here you go..

Consider Learning Movements of Sides first before starting off with using the formula…


Second line R H Side

T–, R +, T +, R –, C –, T +, F + T –

Second Line LH Side

T +, L –, T –, L + C +, T –, F –, T +

(It Centre line is matched do the final Piece)

Second Line Final Piece RH Side

T –, R +, T +, R –,T +, M –, F +, M +, T –

Second Line Final Piece LH Side

T +, L –, T –, L+, T –, M –, F –, M +, T +

(Match one center piece and keep at left side like this: ¿)

Third row for Plus Sign

R –, T –, F –, T +, F +, R +,

Third Row for Plus Sign Matching

R2, U –, M + U2, M +, U2, M2, U +, R2

Third row for Corner Pieces (Maximum 2)

T +, R +, T –, L–, T +, R –, T –, L +

(Use above line for many times till you get linear positions)

(If you get Diagonal pieces like this:      then do final positioning)

Final Positioning of all 6 Colors

R +, B2, R –, T –, B2, T +, F +, T –, B2, T +, R +, B2, R –, F –

R +, RH, Clock wise                                               U+, Under (Bottom) Clock wise

R –, RH Anti Clock wise                           U –, Under (Bottom) Anti Clock wise

L +, LH Clock wise                                      M +, (Vertical) Middle towards operator

L –, LH Anti Clock wise                            M –, (vertical) Middle away from operator

F +, Front Clock wise                                C +, (Center) (Horizontal) Clock wise

F –, Front Anti Clock wise                                  C –, (Horizontal) (Centre) Anti clock wise

T +, Top Clock wise                                               B +, Back Clock wise

T –, Top Anti Clock wise                          B –, Back Anti Clock wise

P.S. Don’t ask me to teach it. It takes time and practice to learn to learn it..

Android Workshop

Completed a three weekend workshop on Android today..
There were participants from my college, PICT , VIT, some MCA, and MCS students over from karrox, and DY Patil COE, and some of my acquitances.

The workshop was done in three sundays, that is three legs
First Leg covered basics of Android Development, the Environment behind it, and much more. And a head start to components in Android.

The Second Day concentrated on Intents, Multiple Activities, Cross Activity workings, and coding sessions

The Last day was spent on revision, and App Creation, also some topics like “Touch”, “Networking”, JSON Parsing, Twitter Timeline App were done..

Altogether I got a good response from around 12-20 students.

The examples in this workshop can be found over here..

Synopsis -Blunt


Relevant mathematics associated with the Project:

1. Let S be a system defined for the overview of git-torrent system

S={GR,GR’,T,D,C,E,Files | Фs }


GR = Git Repository

GR’= Changed Final Git Repository


D= Diff Architecture

C=Choice Architecture

Files is a set of Files in any directory structure

E= Exceptions

Фs= Rules

Is= GR’ ={Ф}, δ(GR) {Changes over GR}

T{ф} , s∩T≠ {ф}

Fs= GR’ C GR , GR’ C δ(GR) , p=s


δ= changes done

p= peer

s= seed

f(GR,D,T,C | G ε T) ->f(GR, δ(GR)) -> GR’

t(GR) => diff(GR)
lim GR → CO

dif(files) → GR w.r.t. CO


g Є GR


, g' Є GR' 








|) GR' 


=> Files



Input = {GR,GR’,T,D,C}

Output = {GR’,T’}


2. Let GR be a System defined for Git Repository

GR = {CO,REV, REF,t,A,L,Files,Ws | t εTREE}


CO= Commit Object

REV= Revision

REF= Reference



Ws= window size for break up

m(t,CO,A)-> t’

trans(t, REF, REV)->(REF’->t’)

size(Files) > Ws

{Refs} subset of CO
dif(files), lim files -> CO -> Ws

Output :
wsCO =files , dif(GR,GR')=CO'







3. Let T be a system over Torrent

T={P,S,TRAC,OM,PWP,THP,CON,gi,d ,t | d ε D , gi ε GI,t ε Tree}




TRAC= Tracker

CON= Connectivity

GI= Git Interface

S is proper subset of P
|s| lim→|co| 
f(P,t) → S
f(Pc',t) → P'
Pc'=(P ^ δ(P')) OR δ(P') => (GR')
f(Pc',GR') => Gr



dif(con') , where con' is subset of S
for lim S → Pcon(S)=GR'
f(tree,P) → Pl'=S

4. Let D be the diff architecture,

D={CO, CO’,CM,LOG,gi | gi ε GI}


CO=Commit Object

CO’= Changes over CO

CM=Context Mapping


dif(CO) → CO’ for lim CO‘ ->0

CO’={cod,0| cod is proper subset of CO}


5. C define the Choice architecture used to determine, which of the seeds to use in a swarm.

C={Sc, GR’, d, Sc’,TRAC |d ε D}

Sc=Set of choose Seeds




6. Let CO be a system for Commit Object Management

CO={Delta,State,HASH,Data,d,a,log | a ε A, log ε LOG, d ε D}




data is subset of files
Is-> state = committed a≠{ф}
delta:d {onto, one-to-one , one-to-many relation} 
dif(data)=delta for lim delta → 0
f(CO') → log *changed CO → for delta


7. Let REF be the reference model,

REF={sw,t,Tspec, Tsw, Tsw’ , Sw’,spec | t ε T, Tsw’ is subset of tree}


sw= Switch

Spec= Specification

f(sw ,sw’,Tsw)->Tsw’

f(sw’ ,Tspec)->Tsw’(TSPEC)

f(Spec,sw )->sw’

Tsw= Current Tree

Tsw’= Switched Tree

8. Let REV be for Revisioning

REV={sn,t,n | t ε Tree, sn ε SN}


sn=Snapshot of project



Tsn=Snapshot Tree

generating of RC and releases 
added a here
Exception condition here - > R(Sn


) → n




Same versionsnapshotting, Ignore this to let n


be as it is.


9. Let A be used for Authentication

A={SSH, gr, At, User | SSH(user), gr ε GR}

f(gr, SSH)->gr’


ND for invalid user of A


10. LOG={u,gr,co,l ,GR’ ,l’| u ε user, gr ε GR,co ε CO, l ε LOG}


 l = ∑ l

i i=0

l'=f() U l, f and l increase monotonically


10. Let P be a set for Peer Functionality






and S≠{ф}


Fs = L’ -> S

11.THP define the Tracker HTTP Protocol working

THP={TRAC,m,pl,ml,u }




pl=Peer List

ml= Mask List

and pl≠{ф}






12. Peer Wire Protocol is given by

PWP={gr,pl,ll,sl,m | gr ε GR,}


sl=Seed List

ll=Leech List



sl is proper subset of pl
PWP →∫ m = u

Problem statement feasibility assessment using satisfiability analysis and NP Hard, NP Complete or P type using modern algebra:

We will be considering Section 6, to prove our problem to be NP-Complete.
1. The Problem is NP- 
This one states we have an NP problem, verification of required data from Se' is possible in O(n


) {k=constant} time. 
Derivation of Se' cannot be done as such in O(n


As such the Problem in in NP

2.We know that the Vertex- Cover{VC} Problem is NP-HARD
Using vertex – cover anology here,
we need to find Se'(cover) from Se(Graph G) that gives reachability (GR').
Thus, V-C is sub module call for this function {∏}.

 Thus we can say,> V-C Problem

but V-C is NP-HARD.

Thus ∏ , being harder than it, also falls into NP-HARD.for Se' is Turing complete, and Turing computable .
This can be verified in O(n)
Thus, as ∏ is in NP and NP-HARD, it is a NP complete problem .

Now , ∏ is a submodule call from the main S system.
S >

Thus our system can be stated to be NP-complete

Verification of this is linear , but derivation is not.

DNA Coverage

This news ran today[13-09-2011]

Lighting the innovation lamp in enterprising young minds

Rajesh Rao

At the Uniken Innovation lecture series 2011, organised recently in the city, three best innovative ideas were selected out of 28 presentations given by students of city institutes and entrepreneurs. The day-long lecture series was organised by Uniken in association with Shantanurao Kirloskar Chair (University of Pune), College of Engineering Pune (COEP) and Centre for Innovation, Incubation and Entrepreneurship (CIIE) IIM-Ahmedabad, on September 8 at COEP campus in the city. World-renowned American cryptographer and one of the pioneers of public-key cryptography, Whitfield Diffie, motivated students with his talks at an interactive session conducted at the end of the event. Chief innovation officer and CEO of Uniken, Sanjay Deshpande, was also present on the occasion. “Education in India is more about understanding the mechanics of examination, rather than real application of knowledge. For innovation to happen on campus, we have to bring the concept of freedom in academics,” said Deshpande. The lecture series, based on the theme ‘students as innovators’, was organised to encourage students to become innovators and entrepreneurs. Students from city institutes and entrepreneurs were invited to present and showcase their innovative ideas, final year projects and ready-to-market products. Out of the 28 presentations that were showcased, three best innovative ideas were selected. Projects of teams of final year students, Abhijit Navale and Nikhil Bhagwat (JSPM’s Jayawantrao Sawant College of Engineering) and Puneet Sutar, Vipul Amler, Prajakta Tambe, Neeraj Thakur (Pune Institute of Computer Technology) along with city-based entrepreneur Koustubh Yadre, were selected as the top three winners. A technology innovation, product design and engineering firm, Uniken is headquartered in Florida (US), with its innovation centre in Pune. Uniken has partnered with CIIE (IIM-Ahmedabad) to set up a national innovation network across the campuses in India. Internet security expert, Whitfield Diffie, is on the scientific advisory board of Uniken. The three best innovative ideas: Abhijit Navale and Nikhil Bhagwat (Final year students of electronic and telecommunication) Their project helps paralysed people to communicate with others using infra-red (IR) sensors installed on a goggle to detect facial muscle movements of the patient. The IR sensors send signals to a microcontroller, which uses the basic concept of interrupt generation to make words. A cost-effective and easy-to-operate mode for paralysed people to communicate, it does not require any touch interface. Puneet Sutar, Vipul Amler, Prajakta Tambe, Neeraj Thakur (Final year students of computer science) They have created Git-Torrent distributed version control system, which provides re-visioning that keeps track of the history of all changes done to a file. Targeted towards large data producers such as animation industry, the system uses Git-Torrent to help them work easily in remote locations. The innovative idea envisages providing a solution for re-visioning large data. Koustubh Yadre (Entrepreneur) As an alternative to disposing household wet garbage, he has designed a portable compost tumbler. Adding daily waste in the tumbler along with a waste binder turns the waste into compost within 15 days, which can be used for gardening. All types of bio-degradable material like food and vegetable remains, fruit peels, flowers and garden waste can be used. The specially designed tumbler is UV resistant and thermo controlled drum. The compost culture used are beneficial fungus and bacteria. The tumbler also helps in keeping the waste free from rodents, bad odour and flies.

One more news coverage was a day before, on page 4 DNA Pune, news: American Expert…

External Links:


Page 5.


Page 4.

Module Compilation

Following is another of my old dumps while showing installation and use of three types of Kernel Modules: Simple, One returning from /proc and another a /dev

You can find the modules directories listed below in this compilation
sward@sward:~$ cd /boot/
sward@sward:/boot$ sudo update-grub
[sudo] password for sward:
Generating grub.cfg …
Found background image: /usr/share/images/desktop-base/desktop-grub.png
Found linux image: /boot/vmlinuz-
Found initrd image: /boot/initrd.img-
Found linux image: /boot/vmlinuz-2.6.32-5-686
Found initrd image: /boot/initrd.img-2.6.32-5-686
Found Windows 7 (loader) on /dev/sda1

#After Compiling and rebooting
sward@sward:~$ uname -r

sward@sward:~/module/hello_printk$ make
make -C /lib/modules/ M=/home/sward/module/hello_printk modules
make[1]: Entering directory `/home/sward/kernel/linux-′
Building modules, stage 2.
MODPOST 1 modules
make[1]: Leaving directory `/home/sward/kernel/linux-′

sward@sward:~/module/hello_printk$ sudo insmod ./hello_printk.ko
sward@sward:~/module/hello_printk$ dmesg | tail
[ 36.299929] [drm] Initialized i915 1.6.0 20080730 for 0000:00:02.0 on minor 0
[ 41.163597] lp: driver loaded but no devices found
[ 41.386104] ppdev: user-space parallel port driver
[ 62.467260] sshd (2235): /proc/2235/oom_adj is deprecated, please use /proc/2235/oom_score_adj instead.
[ 88.182166] FAT: utf8 is not a recommended IO charset for FAT filesystems, filesystem will be case sensitive!
[ 393.599872] Hello, world!
[ 438.178403] Goodbye, world!
[ 1590.507930] Hello, world!
[ 3249.532024] Goodbye, world!
[ 3253.303910] Hello, world!

sward@sward:~/module/hello_printk$ sudo rmmod hello_printk
sward@sward:~/module/hello_printk$ dmesg | tail
[ 41.163597] lp: driver loaded but no devices found
[ 41.386104] ppdev: user-space parallel port driver
[ 62.467260] sshd (2235): /proc/2235/oom_adj is deprecated, please use /proc/2235/oom_score_adj instead.
[ 88.182166] FAT: utf8 is not a recommended IO charset for FAT filesystems, filesystem will be case sensitive!
[ 393.599872] Hello, world!
[ 438.178403] Goodbye, world!
[ 1590.507930] Hello, world!
[ 3249.532024] Goodbye, world!
[ 3253.303910] Hello, world!
[ 3286.511989] Goodbye, world!

##Using /proc to print
sward@sward:~/module/hello_proc$ sudo insmod ./hello_proc.ko
sward@sward:~/module/hello_proc$ cat /proc/hello_world
Hello, world!

##Using /dev to print,Yeah thats the device
sward@sward:~/module/hello_dev$ sudo insmod hello_dev.ko
sward@sward:~/module/hello_dev$ sudo cat /dev/hello
Hello, world!

##For module licences:

* The following license idents are currently accepted as indicating free
* software modules
* “GPL” [GNU Public License v2 or later]
* “GPL v2” [GNU Public License v2]
* “GPL and additional rights” [GNU Public License v2 rights and more]
* “Dual BSD/GPL” [GNU Public License v2
* or BSD license choice]
* “Dual MIT/GPL” [GNU Public License v2
* or MIT license choice]
* “Dual MPL/GPL” [GNU Public License v2
* or Mozilla license choice]
* The following other idents are available
* “Proprietary” [Non free products]
* There are dual licensed components, but when running with Linux it is the
* GPL that is relevant so this is a non issue. Similarly LGPL linked with GPL
* is a GPL combined work.
* This exists for several reasons
* 1. So modinfo can show license info for users wanting to vet their setup
* is free
* 2. So the community can ignore bug reports including proprietary modules
* 3. So vendors can do likewise based on their own policies

Kernel Compilation

Should have put this looooooooong before, but better late then never, so this one’s for all you BE people

Don’t mind the wordings, this is just a dump of my notes and outputs.

Step 1: Get kernel stable source code from will get an archive  name something like linux-x.y.z.tar.bz2. here x indicates version no, y indicates whether kernel is stable or not and  z indicates kernel release number.if y is even then kernel is stable  otherwise unstable.we can download using command


Step 2: untar a kernel archive in /usr/src(not necessarily) using

#tar -xjvf linux-2.6.25.tar.bz2 -C /usr/src then go to directory where u have untarred the file cd /usr/src

Step 3: Check whether you have gcc or not: You can check it by following shell command which gcc if gcc is not installed,u can get it using command sudo apt-get install gcc

Step 4: Now you can start kernel configuring by typing any one of the command:

make menuconfig – Text based color menus,  radiolists & dialogs.  This option also useful on remote server if you wanna compile kernel  remotely.

make xconfig – X windows (Qt) based configuration tool,  works best under KDE desktop make gconfig – X windows (Gtk) based configuration tool,  works best under Gnome Dekstop.

For example make menuconfig command launches following screen:make menuconfig

You have to select different options as per your need.  Each configuration option has HELP button associated with it  so select help button to get help. finally select save an alternate configuration as .config file and exit.

Step 5: ~Modules Start compiling to create a compressed kernel image,

enter: make

Start compiling to kernel modules: make modules

Install kernel modules: make modules_install

Step 6 : ~Install kernel So far we have compiled kernel and installed kernel modules.  It is time to install kernel itself. make install

Step 7: Create an initrd image After this you will have to create initrd image of kernel. This can be done as follows : first goto /boot directory cd /boot create initrd image:

mkinitrd -o initrd.img-

Many linux distros does not support this naturally,like Debian Wheezy does not suppport mkinitrd tools and so we have to use initramfs tools.

You can simply type following commands for this case: update-initramfs -k -c and then update grub update-grub

Step 8:

This step includes actually modifying grub. This can be done by actually modifying  file grub.conf or using command update-grub

Step 9: reboot

Reboot from your new kernel.U can find out ur kernel version using: uname -a #Mine gave this sward@sward:~/module/hello_dev

$ uname -a Linux sward #5 SMP Thu Apr 14 00:19:30 IST 2011 i686 GNU/Linux