Sunday, 14 July 2013

Stumble.. stumble...

This is not the typical raise from the ashes to succeed story. Its one about lost hope and how the mighty cope with it.
The job hunting season had begun, the undergraduate forces were strong . Company number one, a start-up from the southern regions of the globe had set shop, hoping to grab the best talent. However it does seem that best talent are seldom chosen. Its the lucky ones that eventually make it to the top. The question as to why this happens is open ended. The sheer influx of candidates will cloud the system and the talented unlucky ones are left out.

The start-up shop eventually ended up losing some of the best minds.

Company number two, another one with a dysfunctional sieve, managed to wipe out all the best but settled for something lesser.

The questions that come to my mind is : How can we improve the selection procedure? How can we  eliminate luck from being one of the factors? Or is it that we do not want to eliminate luck. Nobody knows for sure. 

Thursday, 20 June 2013

Pixels and Voxels

It was only recently that I actually looked at my computer screen. Until then, it was only what was displayed on the screen that concerned me. But then some questions popped up in my head.

How does the computer display such a vivid range of color?
How is the information about the color stored in the computer?
How does the computer make sense of the information stored?
What does the graphics adapter do in newer computers and why is it necessary?

This is my research in brief. You can get more information if you google the keywords that I've mentioned below

Computer monitors is by far the most important output device. Gone are the days when computers spew out a rolls of output on paper. The most important element of computer display is the pixel short for picture element. When you peer closely at your computer screen, you'll notice that its made up of tiny squares, these are the picture elements. Each pixel emanates a color.

Every color are composed of three primary colors: Red, Green, and Blue. What I mean by this is that the cells in the human retina is capable of detecting 3 colors. The brain takes the signals from the retina which is basically a function of the intensity of the three components and determines the color.
Therefore when R, G and B are combined in different ratios, other colors, secondary colors are produced.

Color Depth:  There is inherent ambiguity in the definition of the color depth. It is EITHER the number of bits used to represent each color OR the number of bits to represent each COMPONENT. The component refers to R, G, B. Obviously the first definition restricts the number of colors that can be represented as opposed to the first.

The problem of storing and displaying colors on a computer screen translates to an effective  method of representing the intensities of R, G, and B. Computers rely on using a particular bit pattern for each color intensity. Older computers used 8 bit color schemes, which means that 8 bits are used to represent a color. This allows for 256 colors and no more. Modern computers use 24 bits to represent colors(True Color), eight bits for each of the components, this scheme can represent about 16.7 million colors. Some computers use more than 24 bits, but they are uncommon. Printing also uses 24 bit scheme. 

Translating the Bit Pattern into Color

Now that we've figured out a unique representation for every color, how does the computer determine which color to display. The answer to this lies in the color lookup table (CLUT). The display devices have been designed to look into  this table to understand the definition of the binary values. Read the wiki here.

The range of colors that can be represented depends on the color gamut. It is fairly mathematical and quite complex to understand so I exclude an explanation here.

I then stumbled on Volumetric Pixels or Voxels!

Saturday, 8 June 2013

Bangalore Math Exhibition

I recently visited the math exhibition at Goethe-Institut/Max Mueller Bhavan.

The amazing bubble experiment.

"Hands on Maths" has a collection of exhibits to entertain and teach visitors.Kids in the age group of 8 to 16 may find many of the exhibits very inspirational. There is something for people of all age groups to ponder on. If you are from an engineering or science background, chances are that you may have dealt with a lot of the concepts and may find it a tad redundant. If you are a math fanatic, and expects more on advanced math, you can safely avoid this. 

There are about 20 exhibits and puzzles that intrigue everyone. A gravity race, composing a symphony with random variables, etc. its very interactive and kids will love it. Its a subset of the 160 math exhibits from The “Mathematikum” from Giessen, Germany. A first of its kind math museum in the world. 

Must Visit For Kids

I really wish that the city had more of such events happening. It liberates people from mindless movies and watching cricket. (Didn't mean to upset anyone, but its true)

Wednesday, 5 June 2013

Transition to Linux

If you are planning to buy a new computer:

I suggest you to check the specs of the machine and google for the corresponding drivers.
Running Linux becomes a lot easier if the vendors have released drivers in the open source market.
Proprietary drivers, especially for video cards are a pain  and often have some compatibility issues.
ATI is infamous for their reluctance to release the drivers on open source.
Running your machine with the wrong drivers can cause a lot of chaos and especially when it comes to graphic cards.
From personal experience ATI graphic cards have some heating issues with Linux and the problems are usually hard to diagnose.

Preparing Your Computer For Installation

If your current operating system has used up all the space on your hard drive (used up implies the the file system uses the entire drive) then you'll have to shrink a volume.
Windows 7 comes with a memory management tool. Hit WindowsKey+R and type compmgmtlauncher . Select storage . Here you can view the layout in which the drive has been partitioned.
Right click on a partition and select shrink.
Follow the instructions on screen and create some space.
Note that only 4 primary partitions are allowed, logical partitions can be many, so if you already have 4 primary , you'll have to backup the data and delete one.
You do not need to format the newly created partition. We'll do this while installing Linux.

Installing the Linux Operating System

The open source community has made the installation procedure far easier that it was before. 
Download your favourite distribution
Here I've advertised a few of them 

Ubuntu: Maximum user base, extensive help forums, easy to learn
Debian: Offers much more control, harder to master, updates last longer
Fedora: For geeks,frequent updates great for development, spin off from redhat
Mint: Great looks, good for beginners
Arch : Build your own linux from scratch. Steep learning curve
Check out 5 Flavours of Linux for more information

I recommend you pick any of the first 3.

Once you have downloaded the image, Install it on a flash drive, there are some free software that allow you to do this., Download Universal USB installer.  Find an empty flash drive and install it there

Plug in the flash drive and reboot your system.

If your computer does not boot from the flash drive go to the boot menu and change boot device order. The USB should come first.

Once you boot into the new operating system, installation is as easy as following the instructions on screen. 

The only place where you have to exercise caution is when you select the drive where you wish to install the OS. In the partition manager (one of the steps of installation) Select custom layout. 

Remember that you have to allocate a partition for / (the system root) the rest are not mandatory. Although, I do recommend you to allocate space for swap as this comes in handy when you i) don't have enough RAM ii) for hibernation.

But then again you can also create a swap file, without creating a new partition, after installation . The choice is up to you .

The precise steps for installation will vary slightly  depending on the distribution.

Once everything is done, you computer will boot into the GRUB menu. Select the operating system. 

Congratulations, you are now officially a geek!

Monday, 3 June 2013

Smart People Use Linux

I have to admit that I wasn't a big fan of Linux until recently. Linux is not advertised as well as Windows, although it is famous among the geek community. And most geeks, by nature, tend to be introverts, hence the likely outcome. 

Why you still seem to be using Windorks (sic) :
If you are a person who likes to challenge himself, who gets a thrill out of using your brain, then Linux is definitely for you. You are still using Windorks probably because nobody has introduced you to the platform, nobody has shown you what its capable of. Another possible reason may be because you have a limited internet connection. These were the reasons for my late switching. I however urge you to try it yourself. 

I do agree that mastering Linux is pretty hard, it has a rather steep learning curve. But then again, all things worthwhile require some time and effort.

There are dedicated websites by hardcore Linux enthusiasts which tell you why the platform is so awesome.  Check out Advantages of Linux. Here I list describe some of the non conventional reasons besides the most common ones.

Linux is free:
This may be one of the most compelling reasons to use Linux among many companies and students in particular. The GNU General Public License allows you to use the source code for development. You can even put a price tag for your applications. The only condition is that your source code should also be made available on request. Live and let live!

Linux increases productivity:
Its a well known fact that everyone uses only a small number of applications regularly.
Windorks, particularly the UI is designed after studying the usage patterns of the population. It is neither tailor made for individuals nor does it allow users to modify things to a great extent. Linux on the other hand is completely customizable, you can practically assign key combinations to perform all your tasks at breathtaking speeds. If you are comfortable with programming, then the sky's no limit!. Even with basic programming skills much can be done as there is enough documentation that help you get the most out out of your system, with ease. So although Windorks may appear statistically faster, Linux can be customized to improve productivity.

Linux make you smarter:
This is my theory; Linux requires you to rely on the command line for most administrative tasks. It also requires power users to have some knowledge of computer internals, basic knowledge of how programs run, workings of the operating systems and some idea about the hardware. Now this in turn translates into learning new stuff every time you tweak the computer. Furthermore it puts some stress on your memory and creativity, you'll have to learn new commands, and how to combine them to produce the desired output. All this translates into better cognitive processing. Another perk is that it helps improve your typing speed!

Linux is hardware agnostic:
Linux can work with almost all hardware out there. Although some companies do not release drivers into open source, the community is responsible enough to find a work around. It does not require hardware from particular vendors, etc.

In my next post I will describe how to make a smooth transition to Linux

When the student is ready, the master appears.