Friday 29 November 2013

This is mine.. No?

Property rights, what exactly is rightfully yours? Ever ponder over that question?

Most consider their physical body is their own personal property. If so, are we allow to freely trade body parts like organs?

If we cut down a tree and build a cupboard, is the cupboard my property? The tree belongs to nobody or everybody?

One concept that define rights to property by John Locke is that if we mix our own input with nature (things that belongs to nobody), then we can rightfully consider that the output is our own property.

Nowadays, property rights are govern by various laws. You probably heard of terms such as trademarks, patents, copyrights etc.

Given that individual property rights are protected, why this discussion?
Well, having laws to protect them doesn't necessarily means they will be protected, it ultimately depend on whether these laws are enforceble. Think in terms of music, if music copyrights are fully enforced, hmmm.. pig flies

You think your most private thoughts are safe, think again

Privacy is the hot topic today, but what exactly is it? scratch head..

Well, one can consider privacy to be a state of being hidden or undiscovered. We value privacy as each and everyone of us wish to keep certain part of us (in terms of information) secret and only selectively share them with external parties.

why such a fuss?

Given the advancement in technology, spread of information is like throwing a burning match on a sea of oil. Speed as well as distance of information spread is amazing these days. In addition, information tend to stay around for an extended duration with increasing storage power today!

So what then?
Think twice before you share private info about yourself anywhere. This give me an excuse not to share so much info with you for now xD

Wednesday 6 November 2013

More on DrRacket

I thought Photoshop editing software was cool, now I think DrRacket is cooler :P

Today, I learnt about the concept of recursion where a DrRacket command is defined in such a manner that the command is used within the overall command!

What do i mean? See the following
e.g    lets assume i write a command which require a number input "x" to give an output
         Input                                                     Output
         command   (x)      ----------------------------->       ?
whereby, we define "command (x)" as follow
a) if x is 0, then we get output  dotdotdot
b) otherwise we  use "command (x-1)" to fool around and give an output
Notice how the command is in the overall definition of the command? That is recursion for you!


Check out some interesting things recursion can do:
        Input                                                      Output
       command   (0)     ------------------------------>  
       command   (1)     ------------------------------> 
       command   (2)     ------------------------------>
       command   (3)     ------------------------------>

Over here, I have applied some recursion and transformation to drawing circles and it results in some nice patterns :)

Below is another product of recursion with a little randomness incorporated into command for colors. Nice huh?




Tuesday 5 November 2013

DrRacket

As promised, this post will be about DrRacket!

I will not be going into the technical details of each DrRacket commands in this post since they are non-exhaustive. Instead, I will describe how DrRacket work in general and future entries might include specific commands if something interesting arises!

So.. What is DrRacket?
It is a program for us to write algorithms and execute them a.k.a a program to write program! Typical, we can input data in terms of strings (words/numbers) or pictures to obtain a final output after processing the input through the commands we have written.

What I like best it the fooling around with picture and here are some cool stuff that DrRacket can do with pictures:

(Positioning and size of picture can be changed; duplication can be made)
Input                                                                                Output
.                                              

(Color components of picture can be altered)
Input                                                                                Output
                                            MEOW!

(Pictures can be broken down into their specific dots composition and reconstructed a.k.a distortion)
Input                                                                                Output
                                              poor doggy

Thursday 24 October 2013

Recap on course materials

So far, we have covered quite a lot of grounds on history of computing and DrRacket. I shall give a cursory overview of what I have learnt thus far.

Problem solving:
1) Understand problem
2) Devise plan(s)
3) Execute plan
4) Evaluate
(This is the basic methodology for creation of new algorithms!!!)
In the past, due to insufficient funding and probably also ignorance of our kind, there is limited progress in development on computing. However as time passes by, event such as wars as well as changing attitudes of individuals towards computing created a demand for computing services. Computing primarily assist us with encryption, calculations and the likes then but are now increasingly replacing many other operations that previously require manual execution.

Digital vs Analog
The handling of information in computing is currently leaning towards digital (2 discrete states are used) 

Linear vs Binary
Similarly, the handling of information in computing is leaning toward one of these two and binary is the choice! (technique of "divide by two" search)

Let's see from the lens of a computer on how they handle calculations!
e.g               23                                  10111
                + 17                              +  10001  
                = 40                                101000 
                1 0 1 0 0 0  => 25+04+23+02+01+00 = 40 !!!

e.g               15                                    1111
             x    19                               x  10011  
             = 285                                     1111
                                                         1111
                                                       0000
                                                     0000
                                                   1111           
                                                 100011101
            1 0 0 0 1 1 1 0 1 =>  28+07+06+05+24+23+22+01+20 = 285 !!!

My next post will recap on DrRacket contents.