[Showcase Sunday] Suggestion to showcase personal projects

7 views
Skip to first unread message

Sudar Muthu

unread,
Oct 28, 2012, 7:09:09 AM10/28/12
to compute...@googlegroups.com
Guys,

How about starting a new meme in our club called "Showcase Sunday"?

The idea is very simple. Every Sunday, everyone in the group can post about their recent (pet) project which they are really proud about and want to showcase. You can talk about what you did, why you did it, how you did it, what were your learnings, link to source code/schematics or at least a link to a video/photo etc.

Why?

- To share our learnings
- When you see a cool project from someone, it can motivate you to do something cool
- When someone says your project is cool, you will try to make it *Ultra* cool

Why Sunday?

- Most of us hack on Sundays (expect people like Anil, who have hacking as their day job ;) ) and we can post about it, before procrastination hits us
- If someone is not interested, then they can just archive the mails they get on Sunday, instead of filtering mails through out the week.
- Sunday's are anyways boring most of the time :)  

How? 

Just start the subject of the mail with [Showcase Sunday]

... cool so who is going to *tie the bell to the cat*? Let me do it, by starting the first entry :)

I recently did a pet project, where I managed to control a USB Missile Launcher with Arduino and USB Host Shield. Planning to give my pet bot Asimi a weapon against it's predators ;)

Challenge

The main challenge was decoding (reverse engineering) the USB interface of the toy. I got lucky and things were easy :)

Learning

- Deepened my understanding of USB protocol
- Understood how pyusb (Python library) works
- Understood how the Max3421 IC works in the USB Host Shield.


So who's next? :)

Vinay Venkatesh

unread,
Oct 28, 2012, 9:05:48 AM10/28/12
to compute...@googlegroups.com, compute...@googlegroups.com

While mine hasn't been a 'Sunday' learning, I have been reading a lot on mathematics for some time now and got these insights as a part of that -

1. In machine learning, the matrix version of the equation used to calculate the co-effecients of linear regression is nothing but projection of a line on a plane, but only in n-dimensions. Everyone understands projection in 3D and only requires expansion of some terminologies for us to understand the n-dimensional case.

2. While calculus looked like Greek and Latin during school/college there is a very easy common-man explanation to it. It's just that out education system focuses on rote learning rather than focusing on making us understand it.

3. The 'so-common' convolution equation that is the foundation of DSP and used in many places in math is nothing but a modified version of the long multiplication we learnt in 4/5th grade.

Regards,
Vinay.V
(Sent from my mobile)
--
 
 

Sudar Muthu

unread,
Oct 28, 2012, 9:15:22 AM10/28/12
to compute...@googlegroups.com
On Sun, Oct 28, 2012 at 6:35 PM, Vinay Venkatesh <vina...@gmail.com> wrote:
While calculus looked like Greek and Latin during school/college there is a very easy common-man explanation to it. It's just that out education system focuses on rote learning rather than focusing on making us understand it.

Yeah even I realized it (but unfortunately too late). It would have been really nice if we had access to the resources that we have now when we were *supposed* to be studying them. 

Amarjit Singh

unread,
Oct 28, 2012, 9:11:58 AM10/28/12
to compute...@googlegroups.com

@Vinay: We will love to see mathematics after all it is heart of everything :)

Regards,
Amarjit


--
 
 



--
Regards and Thanks,
Amarjit Singh


Amarjit Singh

unread,
Oct 28, 2012, 9:11:26 AM10/28/12
to compute...@googlegroups.com

@Sudar: Great Idea!.

Regards,
Amarjit

--
 
 

Anil Kumar Pugalia

unread,
Oct 28, 2012, 9:26:56 AM10/28/12
to compute...@googlegroups.com
Okay if that's the case - here's a cool maths fallacy:

x+x+ ... x times = x * x = x^2
Differentiating the left & right hand sides w.r.t. x, we get,
1+1+ ... x times = 2 * x
=> x = 2 * x
As x is any variable, assuming it to be not equal to 0, we divide both sides by x, and get:
1 = 2 (Viola!!!)

Regards
Anil

--
 
 



--
Passion: http://profession.sarika-pugs.com

bha...@gmail.com

unread,
Oct 28, 2012, 9:48:22 AM10/28/12
to compute...@googlegroups.com
So with the shield, you can attach any USB device? :O

Sent from my HTC


----- Reply message -----
From: "Sudar Muthu" <su...@sudarmuthu.com>
To: <compute...@googlegroups.com>
Subject: [Showcase Sunday] Suggestion to showcase personal projects
Date: Sun, Oct 28, 2012 16:39


Guys,

How about starting a new meme in our club called "*Showcase Sunday*"?


The idea is very simple. Every Sunday, everyone in the group can post about
their recent (pet) project which they are really proud about and want to
showcase. You can talk about what you did, why you did it, how you did it,
what were your learnings, link to source code/schematics or at least a link
to a video/photo etc.

*Why?*


- To share our learnings
- When you see a cool project from someone, it can motivate you to do
something cool
- When someone says your project is cool, you will try to make it *Ultra*
cool

*Why Sunday?*


- Most of us hack on Sundays (expect people like Anil, who have hacking as
their day job ;) ) and we can post about it, before procrastination hits us
- If someone is not interested, then they can just archive the mails they
get on Sunday, instead of filtering mails through out the week.
- Sunday's are anyways boring most of the time :)

*How? *


Just start the subject of the mail with [Showcase Sunday]

... cool so who is going to *tie the bell to the cat*? Let me do it, by
starting the first entry :)

I recently did a pet project, where I managed to control a USB Missile
Launcher with Arduino and USB Host Shield. Planning to give my pet bot
Asimi a weapon against it's predators ;)

*Challenge*


The main challenge was decoding (reverse engineering) the USB interface of
the toy. I got lucky and things were easy :)

*Learning*

Sudar Muthu

unread,
Oct 28, 2012, 10:05:05 AM10/28/12
to compute...@googlegroups.com

Yeah pretty much any device.

-
Sent from a handheld. Excuse typos.

--
 
 

Vinay Venkatesh

unread,
Oct 28, 2012, 10:12:19 AM10/28/12
to compute...@googlegroups.com, compute...@googlegroups.com
Calculus:
Calculus focuses on pattern analysis given plenty of samples. Comparing samples is differentiation while maintaining their running sum is integration. Applying this to India's favourite sport - cricket, your analysis of ball to ball behaviour requires differentiation while analysing the running total in an innings is integration.
Lets apply this to the most remembered equation from school/college times - differentiation of sin(x) is cos(x). When I asked "why is it so?" in college my teacher gave the standard limits and continuity funda and added that if I don't understand it then I am not fit for science stream! But if you take time to look at samples of sine function, then take difference of consecutive samples, the plot of the differences looks like a cos function. The only difference is that in the full equation used in calculus, difference is normalised by dividing the difference by the difference in the independent variable (the limits and continuity part that we get taught in college). This makes sure so that it doesn't matter whether samples are taken at equal intervals or unequal ones. 

Convolution:
The typical equation that we see in text books is explained across multiple pages. Now look at the long multiplication you learnt in school - multiply first number with each element of the second number. Move one position to the left every time you go to the next higher element of the second number. Then add all of them up. 
Compare this with the convolution operation that uses time shifted versions of impulse function to multiply input samples. The only difference you notice is that while conventional multiplication has a carry-over, there is no such thing in convolution. This is because of the domain where convolution is used - signal processing. Here a sample doesn't use the idea of overflow / carry-over. A sample value of 1 or 200 still represents that sample alone; the 2 (or 20) in 200 is not carried over to the next sample.

Try this with an example - 
Multiply 5678 by 1234
as compared to 
Convolution of input samples x(t)=(5,6,7,8) and impulse response function h(t)=(1,2,3,4)
See the similarities? :)

Regards,
Vinay.V
(Sent from my mobile)
--
 
 

priya iyer

unread,
Oct 28, 2012, 10:16:05 AM10/28/12
to compute...@googlegroups.com
Awesome thread Sudar! ^_^

I part hunted for my version of 'Learning pet' preparing for a talk and figured out that I dont need a weight sensor :P A simple spring can replace it.

- Priya

--
 
 

bha...@gmail.com

unread,
Oct 28, 2012, 10:39:47 AM10/28/12
to compute...@googlegroups.com
I never looked at calculus that way, thanks!


Sent from my HTC

----- Reply message -----
From: "Vinay Venkatesh" <vina...@gmail.com>
To: "compute...@googlegroups.com" <compute...@googlegroups.com>
Cc: "compute...@googlegroups.com" <compute...@googlegroups.com>
Subject: [Showcase Sunday] Suggestion to showcase personal projects
>>>> Guys,
>>>>
>>>> How about starting a new meme in our club called "Showcase Sunday"?

>>>>
>>>> The idea is very simple. Every Sunday, everyone in the group can post about their recent (pet) project which they are really proud about and want to showcase. You can talk about what you did, why you did it, how you did it, what were your learnings, link to source code/schematics or at least a link to a video/photo etc.
>>>>
>>>> Why?

>>>>
>>>> - To share our learnings
>>>> - When you see a cool project from someone, it can motivate you to do something cool
>>>> - When someone says your project is cool, you will try to make it *Ultra* cool
>>>>
>>>> Why Sunday?

>>>>
>>>> - Most of us hack on Sundays (expect people like Anil, who have hacking as their day job ;) ) and we can post about it, before procrastination hits us
>>>> - If someone is not interested, then they can just archive the mails they get on Sunday, instead of filtering mails through out the week.
>>>> - Sunday's are anyways boring most of the time :)  
>>>>
>>>> How?
>>>>
>>>> Just start the subject of the mail with [Showcase Sunday]
>>>>
>>>> ... cool so who is going to *tie the bell to the cat*? Let me do it, by starting the first entry :)
>>>>
>>>> I recently did a pet project, where I managed to control a USB Missile Launcher with Arduino and USB Host Shield. Planning to give my pet bot Asimi a weapon against it's predators ;)
>>>>
>>>> Challenge

>>>>
>>>> The main challenge was decoding (reverse engineering) the USB interface of the toy. I got lucky and things were easy :)
>>>>
>>>> Learning

>>>>
>>>> - Deepened my understanding of USB protocol
>>>> - Understood how pyusb (Python library) works
>>>> - Understood how the Max3421 IC works in the USB Host Shield.
>>>>
>>>> Explanation/blog: http://hardwarefun.com/tutorials/controlling-usb-missile-launchers-using-arduino
>>>> Arduino Library: http://hardwarefun.com/projects/missile-launcher
>>>> Youtube Video: http://www.youtube.com/watch?v=hxFvpzAR4OI
>>>> Source code: https://github.com/sudar/MissileLauncher
>>>>
>>>> So who's next? :)
>>>>
>>>> --
>>>> Sudar
>>>>
>>>> http://SudarMuthu.com
>>>> http://hardwarefun.com
>>>> http://twitter.com/sudarmuthu
>>>>
>>>> --
>>>>  
>>>>  
>>>
>>> --
>>>  
>>>  
>>
>>
>>
>> --
>> Regards and Thanks,
>> Amarjit Singh
>>
>>
>> --
>>  
>>  
>
>
>
> --
> Passion: http://profession.sarika-pugs.com
>
> --
>  
>  

--


Vinay Venkatesh

unread,
Oct 28, 2012, 10:53:11 AM10/28/12
to compute...@googlegroups.com, compute...@googlegroups.com
The fallacy is in accepting 
x+x+ ... x times = x * x = x^2

What if x is a square root? We can't say sqrt(3) + sqrt(3)... (sqrt(3) times). The phrase "sqrt(3) times" doesn't make sense. 
Differentiation belongs to the domain of real numbers, not integers.

Regards,
Vinay.V
(Sent from my mobile)
On 28-Oct-2012, at 18:56, Anil Kumar Pugalia <em...@sarika-pugs.com> wrote:

--
 
 

Dayananda A

unread,
Oct 28, 2012, 12:55:03 PM10/28/12
to compute...@googlegroups.com
Hi,
  
   In my view the fallacy that Anil has pointed is indeed quite legit (That's hacking for you ;-) but differentiation at large is supposed to be applied on what is called a function. Such as 
f(x) = x^2 . This function maps a certain input 'x' to certain output. In our case the function is a square function. Which applies to every number (real and imaginary) on a co-ordinate system. This means that for every value of input 'x' there is a output 'x^2'.

 It is also convenient to view the left hand side as a variable 'y' and call that variable a dependent variable and the variable 'x' on the right hand side as independent variable.

So differentiation makes sense when a function is defined such as a "square" and operate that function on a independent variable 'x'  and study the effect of this operation by changing the input and observing the change in the output. 

d/dx(f(x)) = [f(x1 + d) - f(x1)] / [(x1 + d) - x1] ; /*Where 'd' is the incremental change in the input*/

But Anil has attacked the very definition of the function "square" even before it is operated on a dependent variable 'x'.

The statement x^2 = x + x + x  + x + x + x ...x times is just the definition of the function square. And 'x' in this context just an arbitrary identifier used to define the function and not the independent variable 'x' yet. But when I take this function, operate it on a independent variable 'x' I am defining a system f(x) such that f(x) = x^2. This means to say that we have a system that follows a certain rule(relation or function) and the rule is f(x) = x^2 and if we'd like to study this system's dynamic response when inputs are subject to change, we differentiate and say that for a function f(x) = x^2 when we change the input from x to x+d, change in the output will be twice the initial value x for very low values of 'd' (limit d tends to 0). It will be (2x+d) if we don't don't take the limits. Lets study this.

x                    0 1  2  3    4   5    6    7    8   9
f(x)  = x^2       0 1  4  9  16  25  36  49  64  81
d/dx(f(x))= 2x  0 2  4  6    8  10  12  14  16  18

let x1 = 3, d = 3 ==> x1+d = x2 =6
f(x1)  = 9
f(x2)  = 36

difference in output = f(x2) - f(x1) = 36 - 9 = 27
difference in input d = 3
therefore differentiation will yield 27/3   = 9
which is also equal to 2*3 + 3 (2*x1+d).

We can see that as we make 'd' term as close to zero as possible, the differentiation will yield twice the initial value of input for a small incremental change.

In summary, calculus makes sense when there are relations and not when they are applied on random equations. 

Phew,
-Daya.


 

--
 
 



--
There is no secret ingredient.

Reply all
Reply to author
Forward
0 new messages