Tuesday, September 7, 2010

My Experience of Leading Lab Session


The week before, when sir announced in the class that the slot for the leading lab session for the next week was open, I and my lab partner Yash rushed straight off to the lab after the class to send sir the mail to lead that lab session which was going to cover some limited LINUX commands.

Not only did we have to put in a lot of effort to first get ourselves acquainted to the commands but also teach them to our fellow batchmates on the lab day though how well or bad we acquainted was yet to be seen.We felt that day that in a batch of as less as 26 students it was very challenging to focus on each and every student's problems and then we thought of the plight of our teachers who take on almost a 100 of us everyday. KUDOS TO THEM!! AND A VERY HAPPY TEACHERS DAY (Sorry, am two days late).

Though, we who had to lead the session were also not very perfect on those commands but we tried our best to understand and make others understand how these commands are formed.Still, most of the students were confused on how these commands work. Most of the students were convinced that they are required to rote learn these long commands which is not the case. What you need to do is form these commands from some elementary commands which are not difficult to learn.The commands that we took on that day were some of the most basic commands in Linux like 'top', 'grep', 'awk, 'sed', 'echo' etc.(it is not my fault if they look alien blame it on Linus Torvalds or for that matter on Blaise Pascal) and we also read about the loops and shell files. Most of the students were not clear about command

$ chmod 755 name.sh

that we used to write before executing the shell file(some asked ,some didn't).I will explain it here once again.This command what it basically does is that it makes the file executable.
What we are doing is that we are setting the specifications of the file to read,write and execute.We use 111 to signify that a file is readable, writable as well as executable.This 111 when transformed from binary to decimal gives the value 7.This is the reason why we write chmod 777 or chmod 755(even this value sets the file to executable which is our ultimate goal from this staement).Now this blog is not the place to explain the commands that we did in lab so I will not elaborate further on commands that students found difficult to follow.

Yash has named it Labmare but what we really did was Labshare!

All in all, leading the lab was really a fine experience to have and should continue in future years too. And I would like to thank sir for providing me with this opportunity.

My post was really boring,isn't it?Let's put in a photograph.















OOPS!! Isn't that a photograph of MAC OS X.What is that doing in here?Well, Whatever.It is vaguely related, isn't it?
Linux->Terminal==Mac->Terminal
True

Look at it and pass your time admiring it at your own risk, after all
THE MID-SEM IS HERE!

Hey what am I doing on net, aren't the mid-sem exams approaching?I think i must get offline and put some of my brains(if I have any) into my five subjects(for one of which I am here).

Labmare!!

Ok... So here it goes...I am about to describe my experience of leading the lab...

If I can describe this experience in two words, I will say it was an enjoyable 'labmare'.Weird it might seem,but indeed, it was a sort of problematic challenge that ended quite well...
The idea of conducting a lab seemed interesting.We were very eager to try it out as early as possible, but got a chance only this past week.We were called for training on Saturday at 10 am, and as some of you might have anticipated, I was late yet again, and so I missed quite a bit of the explanation part...:-)
Soumya, then helped me out.I tried to understand everything that I had missed and simultaneously made an attempt to keep track of what was going on(Multi-tasking I may say).Unfortunately,it didn't help much, I could not understand what was going on.Thankfully, at that very instant,when matters seemed to be getting out of hand, Madhuri ma'am gave us a break...We went to play TT.We had a great,refreshing one hour.Then we returned to business.
The scene was quite different now, I seemed to understand things better now.Soumya and I tried our hands out on the questions along with our friends from the other sub-groups.We all put our heads together, and finally things seemed to be in place.An exciting day,I must say.
Then began the difficult part.Understanding the things, was easy, but explaining them to others was not going to be.So we put in our efforts,tried to understand the concepts, practiced a little more.And got ready for the day.
(Oh boy!!it was tiring...)
With little confidence,I started the lab session.My mantra "tension kis baat ki hai" really helped.Though, my confidence was low, but I managed to bring conviction in my voice :-).
The lab went on quite well.We were able to help our mates out.They had no complains(at least this was what I felt).Moreover, we got to learn a lot from our group mates, who came up with doubts, that needed some on the spot research.(I was ready for it and so I was carrying a book on LINUX commands :-D).
So on the whole, it ended pretty well.But the effort that went into it made me realise one thing-"Teachers ko toh bohot jyada mehnat karni padti hogi!!"
Thank you sir, for this opportunity, but I would not like to do it again.
Being on the receiving end is much easier... :-D

Thursday, September 2, 2010

Thank you!

After all that happened, the performances in the class put up by all the groups were quite impressive. I just thought, I should publish a post showing the positive trend right away for record purpose :).

It was apparent that you guys had put in effort preparing for it. Thank you for preparing the wonderful performances. I hope you continue putting in efforts not just in this course but in your education all through.

Those of you who took the videos and photographs, can you please share them on the blog or wherever you feel comfortable. And the group working on video editing as their project should see if they can create some good video about this course out of these videos. 

Monday, August 30, 2010

Never thought I had to publish this post!

After my BTech, when I started working, I realized that very little of what was taught during my undergrad (at supposedly one of the top institutes in the country) was useful in the real world.

At UCLA, I felt that the graduate education is so much more meaningful since it is very close to real stuff out there and so was my research - hands on.

For joining IIIT-D, one of the primary reasons was the enthusiastic colleagues who were striving to change the undergrad curriculum and make it more meaningful for the next generation. I felt that here is an opportunity to provide my younger friends with something I felt was missing in my undergrad education.

After teaching the PhD level course last semester, I had an opportunity to teach the 3rd year students a course which would have been more meaningful for me with a smaller class size and more interested students. But when there was a discussion of redesigning the system management course and teaching it to the first year students, I got excited and opted for it. Here was an opportunity to teach the students fresh into college, the skills and tools that from my experience are very useful all through the education (and your professional career if you opt for a technical one) but are usually never taught in a class room setting.

A lot of thought went into not just deciding the curriculum but the way teaching should be done. I had always argued with my colleagues and have passed on the same message to all of you that I consider you all as adults - who know what is good and what is bad for your own self; who understand if the other person is working hard for you and have the capacity to reciprocate; who would enjoy the freedom and responsibility given to them (that was often missing when I was a student); and who would love the fun filled teaching style.

But I was so wrong.

Most of you seem to be corrupted beyond a position of return. And the rest of you follow the suit by not raising a voice against it. The person committing the wrong deed is probably your friend and by letting him do it, you are not abiding by the true rules of friendship but actually going against it.

College life indeed is fun and I will be the first one to vouch for it. I thought I could design a course that could make it even better. It is for that purpose, I included the individual assignment so that you will be forced to take out time for doing something you always wanted to do but it took a backseat. It is for this purpose I thought if you guys can learn better by trying to create a play/video out of whatever you learn in the class.

All this means extra work for me as well. I can very easily come and speak up in the class, leave, take exams and then just grade in the end. I never got the sort of feedback I expected. But I still thought that it will take you all some time to adjust and was always willing to give you guys that breathing space.

Today, I was dejected.

There should be some principles in everyone's life that one should always adhere to - no matter what. If you are not interested in the course, accept a lower grade and you should be able to justify it later. Grades do not matter in the long run, principles do. And it is often almost impossible to unlearn things as you grow older. You are in that critical moment of your life when you can question how things have been in the past and create a vision about how you want them to be. If you do not create these set of principles for yourself, you will be leading a hollow life all through. And the sad part is that the realization of this will occur when it is already too late.

I hope at least some of you will do certain introspection after what happened today. It was just a small quiz, probably I wouldnt even have included the score in the final evaluation. And cheating to get a few extra marks may just seem to be not a big deal. The act indeed is not. But the idea that you didnt feel bad while doing it is indeed wrong.

Hope you dont learn too many such things which become baggage for the rest of your life since very soon it will be too late to unlearn.

Monday, August 23, 2010

Mac OS X SNOW LEOPARD

Hi every one!!

Here I am going to tell u something about the new OS by APPLE.As we all know that Mac OS is one of the best OS available in market , so similarly apple comes out with another more simple, reliable, easy to use OS i.e Mac OS X SNOW LEOPARD

But the question arises that ” Why do we need it & How is it different from others??”

So to answer this i would like to highlight few advanced features that MAC OS X SNOW LEOPARD has in comparison to MAC OS X

New looks, new expose & stacks

U can view all open windows in stunning style with a single keystroke.

What is expose??

We can say expose is a sort of feature that unshuffles overlapping windows on your desktop into an organized thumbnail view, so you can quickly locate and switch to any window or get to any file on the desktop. This feature is the one which attracted the whole class during one of the lectures of Amarjeet sir.

For example, say you’re a Keynote maestro and often have up to a dozen documents open at the same time. Exposé makes finding the one you need incredibly easy. Just click and hold the Keynote icon in the Dock, and Exposé tiles your Keynote windows while causing the windows of other applications to fade away. The clutter cleared, you can easily find the document you need. A click makes it the active window, and pressing the Space bar gives you a full-screen preview of the window. Prefer keyboard shortcuts? You can tile application windows with a keystroke, too.(SOURCE:OFFICIAL WEBSITE OF APPLE)






A VIEW OF EXPOSED WINDOW

Faster to wake up and shut down.

With Snow Leopard, your Mac wakes from sleep up to twice as quickly when you have screen locking enabled. And shutting down is up to 80 percent faster which saves lot of time.

Easy text editor

In general it is not easy to edit a pdf file without having a particular software but with advanced features of snow leopard, it is available with OS itself.



A CLIPING TO SHOW EDITING FEATURE





More efficient file sharing.

The Bonjour technology in every Mac makes file and media sharing virtually effortless. Now Bonjour in Snow Leopard makes sharing more energy efficient. If you have a computer in your home or office that shares files — like media files for your Apple TV — you have to leave the computer on all the time, which isn’t very energy efficient. With Snow Leopard and a compatible AirPort Extreme or Time Capsule base station, however, your computer can go to sleep yet continue to share its files with other computers and devices, waking when you need it and sleeping when you don’t.

More reliable disk eject.

Snow Leopard improves the reliability of ejecting discs and external drives. Sometimes when an application or process is using the files on a drive, Mac OS X prevents you from ejecting it, but you don’t always know why. In Snow Leopard, you’ll get fewer of those errors and when you do get them, you’ll see exactly which application is using the drive, so you can quit it and eject the drive properly.

Automatic updates for printer drivers.

Snow Leopard makes sure you always have the most up-to-date driver so you can get the most from your printer. When you plug in a printer, Mac OS X can download the latest driver available over the Internet. And it periodically checks to make sure it has the latest driver. If not, it downloads the newest version through Software Update.

Automatic time zone setup.

If you’re traveling around the world, the last thing you want to worry about is whether your computer is set to the correct time zone. Snow Leopard takes care of that for you. Using the Core Location technology, it locates known Wi-Fi hotspots to set the time zone automatically, so you’ll always know the right time no matter where you are.5

The right service at the right time.

The Services menu in Mac OS X lets you use features of one application while working in another. In Snow Leopard, services are more simplified, streamlined, and helpful. The Services menu is contextual, so it shows just the services appropriate for the application you’re using or content you’re viewing rather than all available services. You can access services with a right click of your mouse or Control-click of your trackpad. You can configure the menu to show only the services you want, and you can even create your own services using Automator

Ready for next generation

The entire computing industry is moving from 32-bit to 64-bit technology, and it’s easy to see why. Today’s Mac computers can hold up to 32GB of physical memory, but the 32-bit applications that run on them can address only 4GB of RAM at a time. 64-bit computing shatters that barrier by enabling applications to address a theoretical 16 billion gigabytes of memory, or 16 exabytes. It can also enable computers to crunch twice the data per clock cycle, which can dramatically speed up numeric calculations and other tasks. Earlier versions of Mac OS X have offered a range of 64-bit capabilities. Now Snow Leopard takes the next step in the transition from 32-bit to 64-bit.

Built-in applications like finder,mail,safari,ical,& ichat are now 64-bit which increases speed & eficiencyfor the future.

The 64-bit support in Snow Leopard completely ready for whatever computing enhancements might arrive in the future. For example, Snow Leopard is ready to support up to 16 terabytes of RAM — about 500 times more than today’s Mac computers can accommodate.







Voice over technology

This spl feature which enables computer to receive commands verbally. It is also beneficial for blinds because of the control your computer using gestures on a Multi-Touch trackpad even if you can’t see the screen. The trackpad surface on your Mac notebook represents the active window on your computer, so you can touch to hear the item under your finger & can , drag to hear items continuously as you move your finger, can hear how items are arranged & lot more.













Voice over offers easier & faster web browsing, it can read the whole web page by just accepting gestures . Snow Leopard fully supports HTML web tables without the need for a forms or table mode. You navigate tables using the same commands you already know. You can hear the contents of a table, including the column title and column and row number, by dragging your finger across the trackpad or using simple keystrokes. It also includes vice over tutorial .






















































More Braille support greater collaboration



Snow Leopard introduces a new feature, called braille mirroring, that enables multiple USB braille displays to be connected to one computer simultaneously. It’s perfect for classroom settings, where teachers can lead all of their students through the same lesson at the same time, even if the students are using different display models.
There are so many other features but its already too long as a blog so I have to restrict myself here only with a warm welcome to all sort of comments & questions which can help to improve & enhance knowledge.

source:www.apple.com/macosx

Sunday, August 22, 2010

GPGPU - General Purpose computation on Graphics Processing Units

Click on image to enlarge
GPGPU as the name suggests is termed "General Purpose computation on Graphics Processing Units". This is a technique of using a GPU, which is usually used for rendering computer graphics to perform computations of extreme orders which are traditionally handled by a CPU.
To this date, CPUs are known to have a maximum of 12-cores (AMD Opteron 6000 series and Intel Xeon processors) whereas graphics cards these days come with approximately 240+ cores. So you can imagine why there is a growing necessity to use a GPU for computational purposes.
By using a GPU, a normal person can turn his/her Personal Computer into a Personal "Super" Computer.
NVIDIA has such an offering. For more information : Tesla
Click on image to enlarge
Fig. 1. A pictorial represtation of the architecture difference between an Intel Penryn processor and an NVIDIA GeForce GTX 280 Graphics card GPU

GPGPU aims at the application developer modifying the application to take the compute-intensive kernels and map them to the GPU. The rest of the work is handled by the CPU. To perform mapping the developer has to rewrite the functions to expose the parallel-ism in them i.e. The developer has to re-write the code to use parallel computing.

NVIDIA uses it's very famous CUDA (Compute Unified Device Architecture) to infuse it's GPUs with the extraordinary compute power.
Some features of the NVIDIA Tesla series GPU Computing processors are :

GPUs powered by the Fermi-generation of the CUDA architectureDelivers cluster performance at 1/10th the cost and 1/20th the power of CPU-only systems based on the latest quad core CPUs.
448 CUDA CoresDelivers up to 515 Gigaflops of double-precision peak performance in each GPU, enabling a single workstation to deliver a Teraflop or more of performance. Single precision peak performance is over a Teraflop per GPU.
ECC MemoryMeets a critical requirement for computing accuracy and reliability for workstations. Offers protection of data in memory to enhance data integrity and reliability for applications. Register files, L1/L2 caches, shared memory, and DRAM all are ECC protected.
Desktop Cluster PerformanceSolves large-scale problems faster than a small server cluster on a single workstation with multiple GPUs.
Up to 6GB of GDDR5 memory per GPUMaximizes performance and reduces data transfers by keeping larger data sets in local memory that is attached directly to the GPU.
NVIDIA Parallel DataCache™Accelerates algorithms such as physics solvers, ray-tracing, and sparse matrix multiplication where data addresses are not known beforehand. This includes a configurable L1 cache per Streaming Multiprocessor block and a unified L2 cache for all of the processor cores.
NVIDIA GigaThread™ EngineMaximizes the throughput by faster context switching that is 10X faster than previous architecture, concurrent kernel execution, and improved thread block scheduling.
Asynchronous TransferTurbocharges system performance by transferring data over the PCIe bus while the computing cores are crunching other data. Even applications with heavy data-transfer requirements, such as seismic processing, can maximize the computing efficiency by transferring data to local memory before it is needed.
CUDA programming environment with broad support of programming languages and APIsChoose C, C++, OpenCL, DirectCompute, or Fortran to express application parallelism and take advantage of the “Fermi” GPU’s innovative architecture. NVIDIA Parallel Nsight™ tool is available for Microsoft Visual Studio developers.
High Speed , PCIe Gen 2.0 Data TransferMaximizes bandwidth between the host system and the Tesla processors. Enables Tesla systems to work with virtually any PCIe-compliant host system with an open PCIe x16 slot.



Click on image to enlarge
Fig. 2. A pictorial representation of the difference in performance between a CPU and a GPU over the years.

Applications:

Applications of GPU computing are many including MATLAB acceleration, physical based simulation and physics engines, Tone mapping, Audio Signal processing, Computational Finance, Data Mining, Analytics and Databases, Molecular Dynamics, et cetera.

References:

NVIDIA Published PDF (Must Read) : PDF Link

I hope this post wasn't too mind-boggling. Queries and Comments are always welcome.

Wednesday, August 18, 2010

The BIG Graphics card debate and grading


It comes as no surprise that even after the biggest graphics card revolution, most Indians are still unaware of such cards. Most of us tend to neglect this component when buying a personal computer. Later on, they whine about the "pathetic" graphics their monitor displays and they tend to get the monitor replaced (though this is not a common case).



So what exactly is a graphics card? A graphics card is a component installed on a computer responsible for rendering images on the monitor. (acc. to wiseGeek)

What's the use of a graphics card?

For normal users : A graphics card allows them to use the power to render images extremely fast and with the best quality. Since the release of Microsoft Windows Vista, Aero has become extremely popular. But Aero requires a graphics card to render properly. The in-built video accelerator is insufficient for this purpose.

For entertainment fanatics : Entertainment fanatics always look forward to getting the best quality from their digital stuff eg. Movies, Television shows, et cetera. A graphics card allows such people to use it to accelerate such videos and render them in high quality!! A normal video accelerator will have trouble rendering videos in resolutions of 1280x720 or greater.

For casual gamers/pro gamers : A graphics card is a component of utmost importance to such people. Without a graphics card, no game released in recent times would work on a computer.

A question which baffles many :
Which graphics card is better? ATI Radeon HD 4670 or ATI Radeon HD 4770
Ans. ATI Radeon HD 4770
Why? Both are available in 1 GB GDDR3 versions and the HD 4670 costs less than the HD 4770.
Ans. Each graphics card has a GPU. Each GPU is different in terms of computational power. The GPU of a graphics card costing <> Rs. 4500 even though the memory in both is the same.

The best graphics card to buy for their price range :

Price range : Under $55 (approx. Rs. 2,568)
Card : ATI Radeon HD 4650 GDDR3

Price range : Under $75 (approx. Rs. 3,501)
Card : NVIDIA GeForce GT 240 GDDR5

Price range : Around $105 (approx. Rs. 4,901)
Card : ATI Radeon HD 4850 1 GB OR NVIDIA GeForce GTS 250 1 GB

Price range : Around $135 (approx. Rs. 6,302)
Card : ATI Radeon HD 5750 1 GB

Price range : Around $155 (approx. Rs. 7,236)
Card : ATI Radeon HD 5770 1 GB

Price range : Around $200 (approx. Rs. 9,336)
Card : NVIDIA GeForce GTX 460 768 MB OR ATI Radeon HD 5830

Price range : Around $230 (approx. Rs. 10,735)
Card : NVIDIA GeForce GTX 460 1 GB

Price range : Around $270 (approx. Rs. 12,601)
Card : 2x ATI Radeon HD 5750 1 GB in CrossFire configuration

Price range : Around $300 (approx. Rs. 14,,002)
Card : NVIDIA GeForce GTX 470

Price range : Around $310 (approx. Rs. 14,468)
Card : 2x ATI Radeon HD 5770 1 GB in CrossFire configuration

Graphics cards above this price range are meant for those who'd rather spend money on the graphics card for showing off rather than for performance.The price/performance ratio goes up significantly for such graphics cards (a lower price/performance ratio implies better performance for price).

With this post, I intend to disseminate knowledge about the graphics cards to those who remain unaware. If there are more queries, feel free to ask me through comments or through chat on IIIT Delhi mail by sending me a chat invite. E-mail ID : manish09024@iiitd.ac.in