• Home
  • Posts RSS
  • Comments RSS
  • Edit
  • China: Our Internet is Free Enough

    Friday, April 15, 2011
    China, with the most Internet users of any country in the world, has issued its first government whitepaper declaring an overall Internet strategy--one that advocates Internet growth while implicitly defending censorship policies amid global concern over online repression and China-based cyber espionage.
    "I think this whitepaper is a statement that the Chinese Communist Party intends to stay in power, and also intends to expand Internet access, and be on the cutting edge of Internet innovation, and that there isn't any contradiction in any of those things," says Rebecca MacKinnon, a China Internet expert who is a visiting fellow at Princeton University's Center for Information Technology Policy.
    While the document, which comes from Beijing's information ministry, contains no surprises, it is noteworthy as the first complete declaration of its kind from China. It is also clearly--if not explicitly--a response to recent events. Last year China announced it would require computers sold inside China to contain censorship software known as Green Dam, although it later suspended the requirement. And this year Google pulled its search operation out of mainland China, declaring it could no longer comply with censorship requirements after China-based attackers attempted to steal intellectual property and spy on e-mail accounts of human rights activists. Google has also asked the United States to petition the World Trade Organization to recognize Chinese censorship as an unfair trade barrier.
    "The timing of course coincides with the public uproar about Google China and Green Dam software," says Guobin Yang, a China Internet expert and sociologist at Columbia University, and author of the book The Power of the Internet in China. "What is interesting here is that I see this as reflecting part of an effort to promote the government's point of view--a larger strategy of projecting 'soft power.' They want to put out their own position, a defense of their policies and strategies."
    The whitepaper is partly an effort to promote the idea that states can assert sovereignty over and administer the Internet, Yang adds. "It's such big business, such a big part of the Chinese economy," he says. "More and more so, the government has an interest in maintaining growth of this economy, while at the same time it still wants to control the Internet."
    China has nearly 400 million Internet users--nearly one-quarter of the world's total--plus 750 million mobile-phone users, many of whom access the Web from their phones. Despite censorship, Internet-based grassroots campaigns on Chinese social-networking sites have had some targeted successes, such as pressuring the Chinese government to jail corrupt local officials. Referring generally to this kind of activism, the Beijing whitepaper makes a bold assertion: "Chinese citizens fully enjoy freedom of speech on the Internet." Left unstated is that Chinese Internet companies are under government pressure to self-censor, and do so very effectively on a slate of banned topics, including advocacy of democracy, opposition movements, the 1989 Tiananmen Square uprising, and Tibetan independence.
    "This is not the first time the Chinese government has said 'we have free speech in this country, except for the speech that isn't allowed,' and then there's a long list of things that aren't allowed," MacKinnon adds.
    "There is a much broader scope of public discourse happening on the Chinese Internet now than there was in the public sphere before the Internet existed in China," MacKinnon says. "The thing is, it's circumscribed."
    China's statement advertises itself as "providing an overall picture to the Chinese people and the peoples of the rest of the world of the true situation of the Internet in China." It is a synthesis of long-understood positions: China "energetically advocates and actively supports the development and application of the Internet across the country" and sees it as crucial to economic expansion, but also reserves the right to "administer" the Internet.
    "Frankly, I think China is Exhibit A for how authoritarianism will survive the Internet age," MacKinnon says. "I think Americans have this assumption that nondemocratic regimes can't survive the Internet, and I think that's naïve. The Chinese Communist Party fully intends to survive in the Internet age and has a strategy for doing so. So far, it's working."

    credit : technology review

    Giving Hackers a Printed Invitation


    Credit: Technology Review


    Add one more device to the list of things you need to protect from hackers: The humble printer.
    In two separate presentations scheduled for the Shmoocon hacking conference in Washington, D.C., next week, researchers will show how hackers can use printers to compromise a company's computer network. One presentation will reveal how poorly secured printers can even be grouped together to act as online storage for cybercriminals.
    Over the past decade, many ordinary office devices have gained surprising new functionality—nowadays, some printers can send and receive e-mails, and even browse the Web. But Deral Heiland, an independent security consultant who will give one of the presentations, says manufacturers haven't given security nearly the attention it deserves in light of all the new features. "These devices have gone from being standard, simple printers that got on the network to the point where they are totally integrated in the business environment," Heiland says. "And that heavy integration is what makes them a premium target."
    Heiland, who works as a "penetration tester," or someone who attempts to hack in to a company's network under controlled circumstances, was inspired to look for printer flaws and configuration issues.
    At Shmoocon, Heiland will demonstrate a program called "Praeda" (Latin for plunder) that uses a collection of common security flaws and configurations issues—such as default passwords—to gain access to printers from outside a company's network. Vulnerable printers can then be used to compromise the network. Once the tool gets inside the network, it can steal passwords and files, giving it even more access to servers and other devices.
    Heiland says simple configuration issues often make printers vulnerable in this way. For example, many manufacturers do not force users to set a new password to access their device. That means many printers have default passwords that can easily be found in manuals posted online. In addition, printers that can be accessed via a Web browser often run insecure Web server software, allowing a knowledgeable attacker to find usernames and passwords.
    "We have found out that with a lot of printers, that data is not obfuscated very well," Heiland says. "Where it stores the username and password, we can go into the source and find a field with the information in plaintext."
    Mining printers for valuable information is likely to be used real attackers, says Steve Stasiukonis, managing partner with consultancy Secure Network Technologies (SNT), which also conduct penetration tests against firms. "We never leave any printer unturned," he says. "There is enormous amount of wealth resident on those devices. There is data that sits inside the machine that is useful to us."
    Security issues with one brand of printer allowed Ben Smith, another independent researcher, to use the storage space on the devices to create a distributed cloud for storing files. Smith, who asked that the company who makes the printers concerned not be named, will present a program dubbed Print File System, or PrintFS, that automatically finds vulnerable printers via the Internet or in an internal network and turns them into a distributed storage network. The storage space could be used by hackers as a store for malicious programs or other material. Smith found that scanning the Internet for the communication ports used by printers turned up more than enough devices to create a large storage network.
    "PrintFS scans all the devices and determines whether a given printer is capable of supporting storing data," he says. "Depending on the devices, most of the time, you can find 20 to 30 unsecured devices [on a local network] and you can get a gig of storage to 30 gigs of storage."
    Heiland says that "even the printers you have at your house, these multifunction printers, have an ability to do a lot over the Web. They don't integrate as much, but they can do remote printing and remote scanning."
    Both manufacturers and users should take a hard look at any network device, says SNT's Stasiukonis. "If it carries an IP address on your network and it carries an interface on your network, then it should be looked at from a security standpoint," he says.

    The First Plastic Computer Processor

    Plastic power: This microprocessor is made from organic materials. It is puny compared to most silicon processors, but is flexible and cheap. 

    Silicon may underpin the computers that surround us, but the rigid inflexibility of the semiconductor means it cannot reach everywhere. The first computer processor and memory chips made out of plastic semiconductors suggest that, someday, nowhere will be out of bounds for computer power.
    Researchers in Europe used 4,000 plastic, or organic, transistors to create the plastic microprocessor, which measures roughly two centimeters square and is built on top of flexible plastic foil. "Compared to using silicon, this has the advantage of lower price and that it can be flexible," says Jan Genoe at the IMEC nanotechnology center in Leuven, Belgium. Genoe and IMEC colleagues worked with researchers at the TNO research organization and display company Polymer Vision, both in the Netherlands.
    The processor can so far run only one simple program of 16 instructions. The commands are hardcoded into a second foil etched with plastic circuits that can be connected to the processor to "load" the program. This allows the processor to calculate a running average of an incoming signal, something that a chip involved in processing the signal from a sensor might do, says Genoe. The chip runs at a speed of six hertz-on the order of a million times slower than a modern desktop machine-and can only process information in eight-bit chunks at most, compared to 128 bits for modern computer processors.
    Organic transistors have already been used in certain LED displays and RFID tags, but have not been used to make a processor of any kind. The microprocessor was presented at the ISSCC conference in San Jose, California, last month.
    Making the processor begins with a 25-micrometer thick sheet of flexible plastic, "like what you might wrap your lunch with," says Genoe. A layer of gold electrodes are deposited on top, followed by an insulating layer of plastic, another layer of gold electrodes and the plastic semiconductors that make up the processor's 4,000 transistors. Those transistors were made by spinning the plastic foil to spread a drop of organic liquid into a thin, even layer. When the foil is heated gently the liquid converts into solid pentacene, a commonly used organic semiconductor. The different layers were then etched using photolithography to make the final pattern for transistors.
    In the future, such processors could be made more cheaply by printing the organic components like ink, says Genoe. "There are research groups working on roll-to-roll or sheet-to-sheet printing," he says, "but there is still some progress needed to make organic transistors at small sizes that aren't wobbly," meaning physically irregular. The best lab-scale printing methods so far can only deliver reliable transistors in the tens of micrometers, he says.
    Creating a processor made from plastic transistors was a challenge, because unlike those made from ordered silicon crystals, not every one can be trusted to behave like any other. Plastic transistors each behave slightly differently because they are made up of jumbled, amorphous collections of pentacene crystals. "You won't have two that are equal," says Geneo. "We had to study and simulate that variability to work out a design with the highest chance of behaving correctly."
    The team succeeded, but that doesn't mean the stage is set for plastic processors to displace silicon ones in consumer computers. "Organic materials fundamentally limit the speed of operation," Genoe explains. He expects plastic processors to appear in places where silicon is barred by its cost or physical inflexibility. The lower cost of the organic materials used compared to conventional silicon should make the plastic approach around 10 times cheaper.
    "You can imagine an organic gas sensor wrapped around a gas pipe to report on any leaks with a flexible microprocessor to clean up the noisy signal," he says. Plastic electronics could also allow disposable interactive displays to be built into packaging, for example for food, says Genoe. "You might press a button to have it add up the calories in the cookies you ate," he says.
    But such applications will require more than just plastic processors, says Wei Zhang, who works on organic electronics at the University of Minnesota. At the same conference where the organic processor was unveiled, Zhang and colleagues presented the first printed organic memory of a type known as DRAM, which works alongside the processor in most computers for short-term data storage. The 24-millimeter-square memory array was made by building up several layers of organic "ink" squirted from a nozzle like an aerosol. It can store 64 bits of information.
    Previous printed memory has been nonvolatile, meaning it holds data even when the power is off and isn't suitable for short-term storage involving frequent writing, reading, and rewriting, says Zhang. The Minnesota group was able to print DRAM because it devised a form of printed, organic transistor that uses an ion-rich gel for the insulating material that separates its electrodes.
    The ions inside enable the gel layer to store more charge than a conventional, ion-free insulator. That addresses two problems that have limited organic memory development. The gel's charge-storing ability reduces the power needed to operate the transistor and memory built from it; it also enables the levels of charge used to represent 1 and 0 in the memory to be very distinct and to persist for as long as a minute without the need for the memory to be refreshed.
    Organic, printed DRAM could be used for short-term storage of image frames in displays that are today made with printed organic LEDs, says Zhang. That would enable more devices to be made using printing methods and eliminate some silicon components, reducing costs.
    Finding a way to combine organic microprocessors and memory could cut prices further, although Zhang says the two are not yet ready to connect. "These efforts are new techniques, so we cannot guarantee that they will be built and work together," says Zhang. "But in the future, it would make sense."

    A Desktop for Web Computing



    Personal computing is steadily migrating to the Web, as people use sites like Facebook and Flickr to store photos, videos, and other files they previously would have stored on a PC. A startup called ZeroPC hopes to provide the desktop for the Web computing revolution--a page that looks and acts like a desktop interface, from which users can access all of their content wherever it is stored online.
    A user logging in to ZeroPC is presented with an interface much like Microsoft Windows: icons on a desktop that provide access to files stored in folders and to applications for e-mailing, document editing, and more. But the desktop is delivered using the same technologies used to build interactive Web applications.
    ZeroPC's file browser provides a way to manage all of the photos, videos, and other content uploaded to sites including Facebook, Flickr, and Google Docs as if they were in different folders on a local hard drive. A user can, for example, select several photos hosted on Facebook and drag them into a Flickr folder. Behind the scenes, ZeroPC logs in to those services and copies the files between the sites.
    "We can help unscatter everything that people have spread across the Web," says Richard Sah, a vice president at ZeroPC, which launched at the Web 2.0 Expo in San Francisco last week. "To the user, there is no difference between content stored on different sites."
    Although Sah and his colleagues hope the new service will attract consumers wishing to consolidate their online lives, ZeroPC will also be pitched at schools in the U.S. and overseas because the service can run on any computer or tablet with a modern browser, reducing the need for hardware and software upgrades, says Sah. A single computer can be used by any number of people to access their accounts.
    "For people in developing countries who have to share a computer, it brings a lot of convenience," says Sah. "This can achieve one-desktop-per-child without needing to provide one piece of hardware per child," he adds, alluding to the One Laptop Per Child project, which aims to create low-cost devices to widen access to computing.
    ZeroPC was founded by Young Song, who also founded NComputing, a company that provides low-cost boxes that connect a monitor, mouse, and keyboard to a copy of a Windows or Linux operating system running on a remote server. ZeroPC's desktop is less powerful than what NComputing's boxes provide, but it can be distributed and accessed without dedicated hardware.
    Companies have tried before to make Web-based desktops, but these attempts were less fully featured than ZeroPC's, because Web standards were less powerful, and there were fewer widely used Web services to link up.
    Neverware, a startup in New York City, has built cloud-based software that lets users access the latest version of Windows using outdated computers in schools. The company's founder, Jonathan Hefter, says that services like ZeroPC's and others show that computers needn't become obsolete as fast as is often assumed.
    "Whether by using the cloud or a browser, we are all proving that all of these computers out there have not been used to their maximum capacity," says Hefter. "We are bucking the traditional thinking that four years is all you can get out of these machines."
    However, although ZeroPC's desktop experience is closely modeled on Windows and is compatible with it, it isn't the same thing, notes Hefter. "By allowing full Windows 7 on old machines, we are extending the current framework that schools use, such as software that only runs on Windows," he says.

    A Browser that Speaks Your Language


    Early adopters can now get a sneak peek at the future of the Web by downloading the latest prerelease, or "beta," version of Chrome, Google's Web browser. One of the most interesting new features is an ability to translate speech to text—entirely via the Web.
    The feature is the result of work Google has been doing with the World Wide Web Consortium's HTML Speech Incubator Group, the mission of which is "to determine the feasibility of integrating speech technology in HTML5," the Web's new, emerging standard language.
    A Web page employing the new HTML5 feature could have an icon that, when clicked, initiates a recording through the computer's microphone, via the browser. Speech is captured and sent to Google's servers for transcription, and the resulting text is sent back to the website.
    To experiment with the voice-to-text feature, download the latest beta version of Chromehere. Then go to this webpage, click on the microphone, and start talking. You'll probably find the results mixed, and sometimes hilarious. Using the finest elocution I could muster, I read the opening passage of Richard Yates's Revolutionary Road: "The final dying sounds of their dress rehearsal left the Laurel Players with nothing to do but stand there, silent and helpless." I got error messages several times in a row ("speech not recognized" or "connection to speech servers failed"). Once, I received this transcription: "9 sounds good restaurants on the world there's nothing to do with fam vans island."
    The new feature derives in large part from experiments Google conducted through its Android operating system for mobile devices. For more than a year, says Vincent Vanhoucke, a member of Google's voice recognition team, Android app developers have been able to integrate voice recognition into their apps using technology provided by Google. This has provided Google with useful voice data with which to train its voice-recognition algorithms. Today, some 20 percent of searches on Android phones are conducted using voice recognition, says Vanhoucke: people use voice recognition to write texts, send emails, or conduct searches. "It has really opened up interesting new avenues," says Vanhoucke.
    However, unlike desktop voice-to-text software, which first accustoms itself to a user's voice, Chrome is trying to churn out text from voice without prior training. 

    PROGRAMMING LANGUAGE

    Monday, April 11, 2011
    programming language is an artificial language designed to express computations that can be performed by a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine, to express algorithms precisely, or as a mode of human communication.
    The earliest programming languages predate the invention of the computer, and were used to direct the behavior of machines such as Jacquard looms and player pianos. Thousands of different programming languages have been created, mainly in the computer field, with many more being created every year. Most programming languages describe computation in an imperative style, i.e., as a sequence of commands, although some languages, such as those that support functional programming or logic programming, use alternative forms of description.
    A programming language is usually split into the two components of syntax (form) and semantics (meaning) and many programming languages have some kind of written specification of their syntax and/or semantics. Some languages are defined by a specification document, for example, the C programming language is specified by an ISO Standard, while other languages, such as Perl, have a dominant implementation that is used as a reference. 

    So far 5 generations of programming languages have been defined. These ranges from machine level languages (1GL) to languages necessary for AI & Neural Networks (5GL). A brief introduction of each of the five generations is given below:

    1.First Generation Programming Language

    First generation of programming language refers to machine language. Machine language is lower level language which uses object code (some times also known as machine code). Object code is the combination of binary digits. These languages directly talk to hardware.

    2.Second Generation Programming Language

    Second generation of languages is also low level language which is known as assembly language. Assembly languages are the interface between Machine level languages and High level languages.

    3.Third Generation Programming Language

    Third Generation programming languages are High level Programming languages like JAVA & C.

    4.Fourth Generation Programming Language

    This is the set of current generation programming languages. These languages are similar or closer to human languages.

    General characteristics of 4GL are:

    i.Closer to human languages
    ii.Portable
    iii.Database supportive
    iv.simple and requires less effort than 3GL
    v.Non procedural

    Different types of 4GL are:

    a. Query Generator
    b. Report generator
    c. Form Generator
    d. Application Generator
    e. GUI Generator
    f. Relational Database Manager

    5.Fifth Generation Programming Language

    Languages used for writing programs for Artificial Intelligence, Neural Network, Plasma Computing etc. come under 5GL. This is the future of programming language.


    Abbreviations used:

    1. AI-Artificial Intelligence
    2. 1GL-First Generation Programming Language
    3. 2GL-Second Generation Programming Language
    4. 3GL-Third Generation Programming Language
    5. 4GL-Fourth Generation Programming Language
    6. 5GL-Fifth Generation Programming Language

    DO WHILE LOOP vs DO UNTIL LOOP

    DO WHILE LOOP

    In most computer programming languages, a do while loop, sometimes just called a do loop, is a control flow statement that allows code to be executed repeatedly based on a given Boolean condition. Note though that unlike most languages, Fortran's do loop is actually analogous to the for loop.
    The do while construct consists of a block of code and a condition. First, the code within the block is executed, and then the condition is evaluated. If the condition is true the code within the block is executed again. This repeats until the condition becomes false. Because do while loops check the condition after the block is executed, the control structure is often also known as a post-test loop. Contrast with the while loop, which tests the condition before the code within the block is executed.
    It is possible, and in some cases desirable, for the condition to always evaluate to true, creating an infinite loop. When such a loop is created intentionally, there is usually another control structure (such as a break statement) that allows termination of the loop.
    Some languages may use a different naming convention for this type of loop. For example, the Pascal language has a "repeat until" loop, which continues to run until the control expression is true (and then terminates) — whereas a "while" loop runs while the control expression is true (and terminates once the expression becomes false).

    The Do While loop repeatedly executes a section of code while a specified condition continues to evaluate to True. This is shown in the following subroutine, where a Do While loop is used to print out all values of the Fibonacci Sequence until the values exceed 1,000 :
    ' Subroutine to list the Fibonacci series for all values below 1,000
    Sub Fibonacci()

    Dim i As Integer      ' counter for the position in the series
    Dim iFib As Integer       ' stores the current value in the series
    Dim iFib_Next As Integer ' stores the next value in the series
    Dim iStep As Integer ' stores the next step size

    ' Initialise the variables i and iFib_Next
    i = 1
    iFib_Next = 0

    ' Do While loop to be executed as long as the value
    ' of the current Fibonacci number exceeds 1000

    Do While iFib_Next < 1000

        If i = 1 Then
            ' Special case for the first entry of the series
            iStep = 1
            iFib = 0
        Else
            ' Store the next step size, before overwriting the
            ' current entry of the series
            iStep = iFib
            iFib = iFib_Next
        End If

        ' Print the current Fibonacci value to column A of the
        ' current Worksheet
        Cells(i, 1).Value = iFib

        ' Calculate the next value in the series and increment
        ' the position marker by 1
        iFib_Next = iFib + iStep
        i = i + 1
    Loop

    End Sub
    It can be seen that, in the above example, the condition iFib_Next < 1000 is executed at the start of the loop. Therefore, if the first value of iFib_Next were greater than 1,000, the loop would not be executed at all.
    Another way that you can implement the Do While loop is to place the condition at the end of the loop instead of at the beginning. This causes the loop to be executed at least once, regardless of whether or not the condition initially evaluates to True. This makes no difference to the above Fibonacci Sequence loop, as the variable iFib_Next has been initialised to 0 and so the 'While' condition is always satisfied the first time it is tested.
    However, if the variable iFib_Next had previously been used for other calculations and was set to a value greater than zero, the initial 'While' condition would be False, and the loop would not be entered. One way to solve this would be to place the condition at the end of the loop, as follows:
    Do
      .
      .
      .
    Loop While iFib_Next < 1000


    Read more :


    DO UNTIL LOOP


    The Do Until loop is very similar to the Do While loop. The loop repeatedly executes a section of code until a specified condition evaluates to True. This is shown in the following subroutine, where a Do Until loop is used to extract the values from all cells in Column A of a Worksheet, until it encounters an empty cell :
    Do Until IsEmpty(Cells(iRow, 1))

        ' Store the current cell value in the dCellValues array
        dCellValues(iRow) = Cells(iRow, 1).Value
        iRow = iRow + 1

    Loop


    In the above example, since the condition IsEmpty(Cells(iRow, 1)) is at the start of the Do Until loop, the loop will only be entered if the first cell encountered is non-blank.
    However, as illustrated in the Do While loop, you may on some occasions want to enter the loop at least once, regardless of the initial condition. In this case, the condition can be placed at the end of the loop, as follows:
    Do
      .
      .
      .
    Loop Until IsEmpty(Cells(iRow, 1))
    Read more :



    THE DIFFERENCES 


    The difference between "do while" and "do until" is that a "do while" loops while the test case is true, whereas "do until" loops UNTIL the test case is true (which is equivalent to looping while the test case is false). 

    The difference between a "do ...while" loop and a "while {} " loop is that the while loop tests its condition before execution of the contents of the loop begins; the "do" loop tests its condition after it's been executed at least once. As noted above, if the test condition is false as the while loop is entered the block of code is never executed. Since the condition is tested at the bottom of a do loop, its block of code is always executed at least once.


    Read more: http://wiki.answers.com/Q/What_is_the_difference_between_do_while_and_do_until_loop_in_c_programing#ixzz1J9DkDzQ6


    do while loop video !

    do until loop video !