Friday 16 November, 2007
Microsoft Zune 80GB
Microsoft is releasing second generation Zune Media Players with 80GB storage with wi-fi support and built in FM radio tuner.The plater supports all major media file formats like MP3, WMA, WMA lossless, AAC, and its own DRM format for Zune Pass subscriptions and supports MPEG-4 and h.264 encoding.Video playback is nice on its screen but screen's low dots per inch (dpi) stood out as a negative. Pixels are very noticeable.The player is touch controlled and user friendly interface makes it easy for the beginners.In this wi-fi equipped gadget user can switch to FM radio which makes it good all in one gadget.It comes with premium in-ear headphones that are easily better than the standard earbuds you'll find with most players.This smart looking all in one gadget with stylish finish comes for $250 only.
Thursday 15 November, 2007
IBM Launches Project Blue Cloud
Computer giant IBM has announced a dedicated research project named Blue Cloud on 15th Nov 2007 ,Thursday.The company says that 200 researchers has been employed in the project and their aim is to devise a new technique in order to run large scale programs and massive databases over the internet and it is expected to be functional since the first quarter of the next year.
The first product will be an IBM BladeCenter with Linux-based servers equipped with a suite of cloud softwares.That includes grid-computing software, virtualization tools Xen and PowerVM, and the open-source Hadoop parallel workload-scheduling software originally developed by Yahoo. The suite will also include IBM's Tivoli data center management software for automatically provisioning hardware to adjust for fluctuating computing demand.IBM and Google last month announced a plan to set up a few of these server infrastructures to help college students learn how to write applications that could run on hundreds or thousands of servers.
Initially, customers will run the hardware-software bundle internally. But IBM is also looking at offering outsourced computing services based on the Blue Cloud suite, said Dennis Quan,chief technology officer of high performance on demand solutions at IBM.It builds on the much-discussed notion of outsourced utility-computing services by using the most current software, notably virtualization. Also, the suite is designed to handle changes in computing demand driven by end users, such as a large number of mobile users coming online at the same time, he added.
The first product will be an IBM BladeCenter with Linux-based servers equipped with a suite of cloud softwares.That includes grid-computing software, virtualization tools Xen and PowerVM, and the open-source Hadoop parallel workload-scheduling software originally developed by Yahoo. The suite will also include IBM's Tivoli data center management software for automatically provisioning hardware to adjust for fluctuating computing demand.IBM and Google last month announced a plan to set up a few of these server infrastructures to help college students learn how to write applications that could run on hundreds or thousands of servers.
Initially, customers will run the hardware-software bundle internally. But IBM is also looking at offering outsourced computing services based on the Blue Cloud suite, said Dennis Quan,chief technology officer of high performance on demand solutions at IBM.It builds on the much-discussed notion of outsourced utility-computing services by using the most current software, notably virtualization. Also, the suite is designed to handle changes in computing demand driven by end users, such as a large number of mobile users coming online at the same time, he added.
Final Cut Express 4 from Apple
Apple's much awaited Final cut Express 4 released on 15th Nov 2007.Its an significant up gradation of Final Cut Pro 6, an award winning powerful video editing software.This new product supports latest AVCHD cameras,allows mixing of standard and high definition content on a single timeline, includes the ability to import iMovie® ‘08 projects, and gives users access to hundreds of sophisticated FxPlug cinematic effects and filters.The new Open Format Timeline in Final Cut Express 4 allows users to mix and match DV, HDV and AVCHD material*, all in realtime using the same industry-leading editing and trimming tools found in Final Cut Pro. Supporting both 1080i and 720p HD resolutions, Final Cut Express 4 automatically performs the necessary scaling, cropping and frame rate adjustments. When starting projects from scratch, the new simplified setup automatically configures everything based on the first clip dropped on the Timeline.Final Cut Express 4 makes it easy to import iMovie ‘08 projects and enhance them with advanced editing capabilities such as multiple layers of video and graphics, picture in picture effects and animated titles. It includes over 50 new FxPlug filters, including Soft Focus, Vignette and Light Rays, with hundreds more available from a rapidly expanding FxPlug developer community. With enhanced audio controls, users can automatically raise any clip to its maximum level without distortion using the new Soft Normalize and Gain controls. Final Cut Express 4 also features LiveType 2, which provides an intuitive environment for creating dynamic and fun animated titles and includes an extensive library of animated fonts, textures, templates and effects.Final Cut Express 4 is available immediately for a suggested retail price of $199 (US) through the Apple Store® (www.apple.com), Apple’s retail stores and Apple Authorized Resellers. Owners of previous versions of Final Cut Express can upgrade to Final Cut Express 4 for just $99 (US). Full system requirements and more information on Final Cut Express 4 can be found at www.apple.com/finalcutexpress.
Wednesday 14 November, 2007
The Voice of Silence
The green fields are red, the air carries smell of blood and gunpowder and instead of smile there is fear and scream-Nandigram have shown how politics is given precedence over human lives.People are massacred, women are raped,and people are made homeless.The blood is flowing meaninglessly and when something terrible is happening somewhere, other people cannot rest in peace. There should be a protest and today was the day.
On 14th November,2007 the intelligentsia of Kolkata arranged a silent procession to protest against the recent killings of innocent people in Nandigram.Poets, film personalities,painters,professors, lawyers and other people from the intellectual community of the city took part in the protest rally.They were accompanied by the students and common people.
The procession started from College Square in North Kolkata and ended in Chowringhee in central region of the city.I personally took part in the rally and when we reached College Square the front end of the procession had reached Chowringhee half an hour ago and still it was merely the middle of the rally.People were carrying placards and banners that contained slogan against the ruling government and pledge to bring back peace in the god forbidden land.The participation was spontaneous and there was no influence but the call of the heart and that was the driving force why a million pairs of feet marched together for one noble cause.
It was an ocean of humanity walking past College Street and Rani Rashmoni Avenue and reached Chowringhee where the procession ended and the crowd assembled in front of Mahatma Gandhi statue where noted social activist Medha Patekar was giving a speech on the issue influencing people to break all the small barriers of filthy politics.There was another small group of people singing and reciting on the same topic.The atmosphere was like something that the people of Kolkata haven't seen for so many years;the protest was unique and it was a massive success.All over the place there was only one message in the air:"Let mercy come and wash away,what I have done."
Tuesday 13 November, 2007
EKA:India's Computing Giant
India has entered into the list of world's top ten supercomputer developers, this year.EKA, meaning one in Sanskrit, has become the fastest supercomputer in Asia and ranked fourth worldwide.This has been announced in the International Conference for High Performance Computing, Networking, Storage and Analysis at Reno, Nevada, USA.
Developed by a group of engineers of Tata group company Computational Research Laboratories,Pune , Eka, the supercomputer facility incorporates cutting edge technologies like dense data center layout, novel network routing and parallel processing library,designed by the scientists of CRL and the project was actively supported by the engineers at Tata Consultancy Services.The computing giant is capable of performing 117.9 teraflops ,which is almost one fourth of world's fastest supercomputer BlueGene/L.
Ratan Tata , the chairman of Tata Group figured out that high speed computing facility is gaining its increasing importance in the fields of science and technology along with other fields of major interest ,all over the world.He hoped that this breakthrough invention will boost the ongoing Indian scientific initiatives.
In the recent future the system is targeted to develop applications for neural simulation, molecular simulation, computational fluid dynamics, crash simulation, and digital media animation and rendering.The long term applications ares will be financial modeling, seismic modeling, geophysical signal processing, weather prediction, medical imaging, nano technology, personalized drug discovery, real-time rendering, and virtual worlds among others.
For more information click here.
(the picture shows a part of BlueGene/L, world's fastest supercomputer)
(one teraflop=one trillion floating point operations per second)
Monday 12 November, 2007
The Youngest Fields Medal Winner
"A genius is one who shoots at something no one else can see - and hits it. " may be the perfect quote to introduce Terry Tao ,the winner of fields medal of 2006 at an age of 31.He has become the youngest Fields Medal winner in international mathematics community.Fields Medal is considered to be the noble prize in mathematics.
Born on 17 July 1975 and schooled in Adelaide,Australia, Terry participated in International Mathematical Olympiad three times in the years of 1986,1987,1988 at an astonishing age of 11,12 and 13 years and won bronze,silver and gold medals successively.He was the only person ever to achieve IMO gold medal without having reached the age of 13.
A Chinese by ethnicity, this man received his PhD degree under the supervision of Elias M Stein, at an age of 20.In 2004 he along with Ben Green published a paper on the arithmetic progression of prime numbers.According to The New York Times
"In 2004, Dr. Tao, along with Ben Green, a mathematician now at the University of Cambridge in England, solved a problem related to the Twin Prime Conjecture by looking at prime number progressions — series of numbers equally spaced. (For example, 3, 7 and 11 constitute a progression of prime numbers with a spacing of 4; the next number in the sequence, 15, is not prime.) Dr. Tao and Dr. Green proved that it is always possible to find, somewhere in the infinity of integers, a progression of prime numbers of equal spacing and any length."
This is now known as the Green-Tao theorem.Tao has developed techniques to simplify the equations describing general Relativity as well as Quantum Mechanics governing the way light moves inside fiber optic cable.
Terence Tao is currently working as a professor in UCLA.He worked primarily on Harmonic analysis,Analytic Number Theory,partial Differential Equations,Combinatorics and Representation Theory.
In 2006, other than the Fields Medal he also won SASTRA Ramanujan Prize and on 18 May 2007 he was elected as a fellow of prestigious Royal Society.
For more information about Tao and his work visit www.math.ucla.edu/~tao/
mouse programming in c
Hello,
to all programmers out there,here is a cool stuff for you guys to check out. I assume you guys have fair knowledge in C language and everybody have tried turbo c.Well, it may sound ridiculous to use turbo c now a days for its boring interface and that crazy black screen and what I find very irritating is that it doesn't offer any direct support for mouse.But actually it does.No more prologue,let's jump to the topic.....
To add mouse support to your application you need to include the library file dos.h; i.e.
#include"dos.h"
This library file declares an useful union(i hope you know what is meant by 'union' in c,better to brush up old things) named REGS and it is declared as
union REGS{ struct WORDREGS x; struct BYTEREGS h;};
where both the structures are defined in "dos.h" as
struct BYTEREGS{ unsigned char al, ah, bl, bh;
unsigned char cl, ch, dl, dh;};
and
struct WORDREGS{ unsigned int ax, bx, cx, dx;
unsigned int si, di, cflag , flags;};
Lots of strange things mixed up, isn't it. Well, I'll suggest you to have some knowledge of x86 processor architecture. For our topic we just need to know that the processor has got four sixteen bit general purpose registers called ax ,bx, cx, dx and they can also be used as bytes. The higher bytes are called ah, bh, ch, dh respectively and the lower bytes are termed as al ,bl, cl, dl; which means you may use either a sixteen bit register (say ax) or two eight bit registers(ah or al). It also has got other registers (si,di,flags etc ) but we don't need them now.You may think why am i meaninglessly wasting time on these hardware topics .OK,just scroll back and you gonna find that the structures actually depicts the registers.BYTEREGS is useful to access the eight bit registers as do WORDREGS for sixteen bit registers.
The next thing we are going to cover is interrupt.An interrupt means a certain signal that changes the sequential flow of programs as do the jump or brunch instructions and cpu saves the current register values in stack and performs certain routine (called ISR or interrupt service routine)other than that was being executed and then returns and continues with the old program.A hardwire interrupt is an electronic signal or pulse from other device. Here we are concerned with software interrupts.There are certain codes that can be embedded in the program to interrupt the cpu and cpu performs an intended action based on that code.The code is called an interrupt no.now the main part; dos.h has got two functions to generate software interrupts.they are:
int int86(int interrupt_no , union REGS * inregs ,union REGS *outregs);
and
int int86x(int interrupt_no,union REGS * inregs ,union REGS *outregs, struct SREGS *segregs);
For simplicity we shall confine our discussion to int86 only.
int86 has got three arguments.The first one is for interrupt no.For mouse related interrupts we use 0x33(hex) as interrupt no.There are many services an interrupt can perform, as for example we may want to display the mouse pointer or may want to know the mouse position.They are differentiated by sub functions and inreg contains this information. The result is stored in outregs.
Well from here on we can proceed to the world of mouse programming.To proceed further You need to have mouse driver installed in your computer and here we go.................
Program 1:Determining whether the mouse driver is loaded or not
Our first program determines whether the system has got the mouse driver installed.here goes the code
#include"dos.h"
int main(void)
{union REGS inreg,outreg;
inreg.x.ax=0;
int86(0x33,&inreg,&outreg);//initializes mouse driver
if(outreg.x.ax==0)
printf("not available");
else
printf("available");
return 0;
}
the ax register is given the value 0 which is the service number and interrupt is generated.if the output of ax of outreg is 0 no driver is loaded otherwise the driver is loaded.This also sets the mouse driver's internal mouse position to the center of the screen. The center of the screen, according to the mouse driver, is not (160,100), it is (320,100). This is because the mouse driver maps the x position of the mouse from 0 to 639 and the y position from 0 to 199, no matter what video mode is currently active. outreg.x.bx contains the no of mouse buttons the driver identifies.
Program 2:Displaying the mouse pointer and hiding it
sub functions 1 and 2 can be used respectively for this purpose.
#include"dos.h"
#include"graphics.h"
void main(){
union REGS inreg,outreg;
int GDriver=DETECT,GMode;
inreg.x.ax=1;
initgraph(&GDriver,&GMode,"");//initiates graphics mode
int86(0x33,&inreg,&outreg);//this shows the mouse pointer
getch();
inreg.x.ax=2;
int86(0x33,&inreg,&outreg);/this hides mouse pointer
getch();
restorecrtmode();
}
The code is pretty simple just call int86 with two different arguments.Now, there is an important point to note, in order to see the mouse pointer as an arrow we must be in the graphics mode initialized in the program by making a call to initgraph(). In text mode the mouse pointer appears as a blinking box.Try them out and follow the result.
Program 3:To know mouse status and mouse position
sub function 3 is used for this purpose and the code is:
#include"dos.h"
void main(){
union REGS inreg,outreg;
int button;
inreg.x.ax=0;
int86(0x33,&inreg,&outreg);//initializes mouse driver
inreg.x.ax=1;
int86(0x33,&inreg,&outreg);//shows mouse pointer
inreg.x.ax=3;
int86(0x33,&inreg,&outreg);//interrupt with sub function 3
printf("mouse position is ");
printf("x_coordinate=%d,y_coordinate=%d",outreg.x.cx,outreg.x.dx);//printing the position
button=outreg.x.bx & 7;//determine mouse status
if(button==1) printf("left button pressed");
else if(button==2)printf("right button pressed");
else if(button==4)printf("middle button pressed");
else if(button==3)printf("left and right buttons pressed");
else if(button==5)printf("left and middle buttons pressed");
else if(button==6)printf("middle and right buttons pressed");
else if(button==7)printf("all three buttons pressed");
else printf(" no button pressed");
inreg.x.ax=2;
int86(0x33,&inreg,&outreg);//hides mouse pointer
}
When we interrupt with sub function 3 the mouse position is stored at x.cx and x.dx(x position and y position respectively) of outreg.and x.bx shows the status of buttons.
the picture explains the status of bx and consequently the code.
At this point I think these examples and the text have throw some light on this interesting topic.Dozens of sub functions are there to implement different functionality to the code.A detailed listing of these sub functions can be found at http://www.delorie.com/djgpp/doc/rbinter/ix/33/00.html
Hope you find the topic interesting and enjoyed it.
to all programmers out there,here is a cool stuff for you guys to check out. I assume you guys have fair knowledge in C language and everybody have tried turbo c.Well, it may sound ridiculous to use turbo c now a days for its boring interface and that crazy black screen and what I find very irritating is that it doesn't offer any direct support for mouse.But actually it does.No more prologue,let's jump to the topic.....
To add mouse support to your application you need to include the library file dos.h; i.e.
#include"dos.h"
This library file declares an useful union(i hope you know what is meant by 'union' in c,better to brush up old things) named REGS and it is declared as
union REGS{ struct WORDREGS x; struct BYTEREGS h;};
where both the structures are defined in "dos.h" as
struct BYTEREGS{ unsigned char al, ah, bl, bh;
unsigned char cl, ch, dl, dh;};
and
struct WORDREGS{ unsigned int ax, bx, cx, dx;
unsigned int si, di, cflag , flags;};
Lots of strange things mixed up, isn't it. Well, I'll suggest you to have some knowledge of x86 processor architecture. For our topic we just need to know that the processor has got four sixteen bit general purpose registers called ax ,bx, cx, dx and they can also be used as bytes. The higher bytes are called ah, bh, ch, dh respectively and the lower bytes are termed as al ,bl, cl, dl; which means you may use either a sixteen bit register (say ax) or two eight bit registers(ah or al). It also has got other registers (si,di,flags etc ) but we don't need them now.You may think why am i meaninglessly wasting time on these hardware topics .OK,just scroll back and you gonna find that the structures actually depicts the registers.BYTEREGS is useful to access the eight bit registers as do WORDREGS for sixteen bit registers.
The next thing we are going to cover is interrupt.An interrupt means a certain signal that changes the sequential flow of programs as do the jump or brunch instructions and cpu saves the current register values in stack and performs certain routine (called ISR or interrupt service routine)other than that was being executed and then returns and continues with the old program.A hardwire interrupt is an electronic signal or pulse from other device. Here we are concerned with software interrupts.There are certain codes that can be embedded in the program to interrupt the cpu and cpu performs an intended action based on that code.The code is called an interrupt no.now the main part; dos.h has got two functions to generate software interrupts.they are:
int int86(int interrupt_no , union REGS * inregs ,union REGS *outregs);
and
int int86x(int interrupt_no,union REGS * inregs ,union REGS *outregs, struct SREGS *segregs);
For simplicity we shall confine our discussion to int86 only.
int86 has got three arguments.The first one is for interrupt no.For mouse related interrupts we use 0x33(hex) as interrupt no.There are many services an interrupt can perform, as for example we may want to display the mouse pointer or may want to know the mouse position.They are differentiated by sub functions and inreg contains this information. The result is stored in outregs.
Well from here on we can proceed to the world of mouse programming.To proceed further You need to have mouse driver installed in your computer and here we go.................
Program 1:Determining whether the mouse driver is loaded or not
Our first program determines whether the system has got the mouse driver installed.here goes the code
#include"dos.h"
int main(void)
{union REGS inreg,outreg;
inreg.x.ax=0;
int86(0x33,&inreg,&outreg);//initializes mouse driver
if(outreg.x.ax==0)
printf("not available");
else
printf("available");
return 0;
}
the ax register is given the value 0 which is the service number and interrupt is generated.if the output of ax of outreg is 0 no driver is loaded otherwise the driver is loaded.This also sets the mouse driver's internal mouse position to the center of the screen. The center of the screen, according to the mouse driver, is not (160,100), it is (320,100). This is because the mouse driver maps the x position of the mouse from 0 to 639 and the y position from 0 to 199, no matter what video mode is currently active. outreg.x.bx contains the no of mouse buttons the driver identifies.
Program 2:Displaying the mouse pointer and hiding it
sub functions 1 and 2 can be used respectively for this purpose.
#include"dos.h"
#include"graphics.h"
void main(){
union REGS inreg,outreg;
int GDriver=DETECT,GMode;
inreg.x.ax=1;
initgraph(&GDriver,&GMode,"");//initiates graphics mode
int86(0x33,&inreg,&outreg);//this shows the mouse pointer
getch();
inreg.x.ax=2;
int86(0x33,&inreg,&outreg);/this hides mouse pointer
getch();
restorecrtmode();
}
The code is pretty simple just call int86 with two different arguments.Now, there is an important point to note, in order to see the mouse pointer as an arrow we must be in the graphics mode initialized in the program by making a call to initgraph(). In text mode the mouse pointer appears as a blinking box.Try them out and follow the result.
Program 3:To know mouse status and mouse position
sub function 3 is used for this purpose and the code is:
#include"dos.h"
void main(){
union REGS inreg,outreg;
int button;
inreg.x.ax=0;
int86(0x33,&inreg,&outreg);//initializes mouse driver
inreg.x.ax=1;
int86(0x33,&inreg,&outreg);//shows mouse pointer
inreg.x.ax=3;
int86(0x33,&inreg,&outreg);//interrupt with sub function 3
printf("mouse position is ");
printf("x_coordinate=%d,y_coordinate=%d",outreg.x.cx,outreg.x.dx);//printing the position
button=outreg.x.bx & 7;//determine mouse status
if(button==1) printf("left button pressed");
else if(button==2)printf("right button pressed");
else if(button==4)printf("middle button pressed");
else if(button==3)printf("left and right buttons pressed");
else if(button==5)printf("left and middle buttons pressed");
else if(button==6)printf("middle and right buttons pressed");
else if(button==7)printf("all three buttons pressed");
else printf(" no button pressed");
inreg.x.ax=2;
int86(0x33,&inreg,&outreg);//hides mouse pointer
}
When we interrupt with sub function 3 the mouse position is stored at x.cx and x.dx(x position and y position respectively) of outreg.and x.bx shows the status of buttons.
the picture explains the status of bx and consequently the code.
At this point I think these examples and the text have throw some light on this interesting topic.Dozens of sub functions are there to implement different functionality to the code.A detailed listing of these sub functions can be found at http://www.delorie.com/djgpp/doc/rbinter/ix/33/00.html
Hope you find the topic interesting and enjoyed it.
Subscribe to:
Posts (Atom)