Friday, 9 December 2016

Computer Graphics with OpenGL

This will help you to create some of the AWESOME designs on your computer. But before we get started you should have basic knowledge of programming in C/C++.

OpenGL

The OpenGL specification describes an abstract API for drawing 2D and 3D graphics. Although it is possible for the API to be implemented entirely in software, it is designed to be implemented mostly or entirely in hardware.
The API is defined as a set of functions which may be called by the client program, alongside a set of named integer constants (for example, the constant GL_TEXTURE_2D, which corresponds to the decimal number 3553). Although the function definitions are superficially similar to those of the programming language C, they are language-independent. As such, OpenGL has many language bindings, some of the most noteworthy being the JavaScript binding WebGL (API, based on OpenGL ES 2.0, for 3D rendering from within a web browser); the C bindings WGL, GLX and CGL; the C binding provided by iOS; and the Java and C bindings provided by Android.
In addition to being language-independent, OpenGL is also cross-platform. The specification says nothing on the subject of obtaining, and managing, an OpenGL context, leaving this as a detail of the underlying windowing system. For the same reason, OpenGL is purely concerned with rendering, providing no APIs related to input, audio, or windowing.

Before we start you need to install Dev C++ and OpenGL libraries 


Monday, 5 December 2016

Data Analysis With R

What is Data Analysis???  

Analysis of data is a process of inspecting, cleansing, transforming, and modeling data with the goal of discovering useful information, suggesting conclusions, and supporting decision-making.

R:What is R??

R is a language and environment for statistical computing and graphics. It is a GNU project which is similar to the S language and environment which was developed at Bell Laboratories (formerly AT&T, now Lucent Technologies) by John Chambers and colleagues. R can be considered as a different implementation of S. There are some important differences, but much code written for S runs unaltered under R.

R provides a wide variety of statistical (linear and nonlinear modelling, classical statistical tests, time-series analysis, classification, clustering, …) and graphical techniques, and is highly extensible. The S language is often the vehicle of choice for research in statistical methodology, and R provides an Open Source route to participation in that activity.

One of R’s strengths is the ease with which well-designed publication-quality plots can be produced, including mathematical symbols and formulae where needed. Great care has been taken over the defaults for the minor design choices in graphics, but the user retains full control.

R is available as Free Software under the terms of the Free Software Foundation’s GNU General Public License in source code form. It compiles and runs on a wide variety of UNIX platforms and similar systems (including FreeBSD and Linux), Windows and MacOS.

The R environment

R is an integrated suite of software facilities for data manipulation, calculation and graphical display. It includes

  • an effective data handling and storage facility,
  • a suite of operators for calculations on arrays, in particular matrices,
  • a large, coherent, integrated collection of intermediate tools for data analysis,
  • graphical facilities for data analysis and display either on-screen or on hardcopy, and
  • a well-developed, simple and effective programming language which includes conditionals, loops, user-defined recursive functions and input and output facilities.
The term “environment” is intended to characterize it as a fully planned and coherent system, rather than an incremental accretion of very specific and inflexible tools, as is frequently the case with other data analysis software.

R, like S, is designed around a true computer language, and it allows users to add additional functionality by defining new functions. Much of the system is itself written in the R dialect of S, which makes it easy for users to follow the algorithmic choices made. For computationally-intensive tasks, C, C++ and Fortran code can be linked and called at run time. Advanced users can write C code to manipulate R objects directly.

Many users think of R as a statistics system. We prefer to think of it of an environment within which statistical techniques are implemented. R can be extended (easily) via packages. There are about eight packages supplied with the R distribution and many more are available through the CRAN family of Internet sites covering a very wide range of modern statistics.

R has its own LaTeX-like documentation format, which is used to supply comprehensive documentation, both on-line in a number of formats and in hardcopy.

Sunday, 4 December 2016

Internet of Sound

What is The  Internet of Sound?

Attention audiophiles! We are about to experience the Internet of Sound. We all encounter myriad sounds each day, but none of us has ever imagined them as a possible network. However, the technology has a tendency to work upon the unimaginable and bring out the wonders. This time, the wonder is what is being called ‘The Internet Of Sound’ or the ‘speakernet’.
Sound has been for long the most neglected network despite the fact that sound can reach places where other networks cannot. Therefore, sound can reframe the picture that we see today, it can be a valuable part of our networks besides the existing ones. Moreover, the functioning of machines like ATMs, TVs, toys, radios, tablets, mobiles etc. which exist already can be repurposed if they carry sound, so they can be a part of a network. Thus, Internet Of Sound can be foreseen as a progressive approach to connect the world in a better way.

Chirp — The Internet of Sound Application

As a part of the Internet Of Sound, Chirp, a mobile application and a London-based startup, has released its Chirp.io SDK. Chirp is a platform for exchanging data using sounds. The working is simple. Provide the app a link or a piece of text or an image or anything else and it will “chirp” a sound that can be decoded by anyone else using the app,  pointing to the data on chirp’s server. However, with the release of SDK, chirp is no longer limited to iOS and Android phones, rather it is now available for the Arduino and Spark Core. All you need to share chirps is an Arduino Uno and an earphone. Besides, it comes with a simplified web API which is designed for the limited resources on embedded devices.
Interestingly, the company has opened a crowdfunding round on Crowdcube, which unlike Kickstarter, is an equity platform based in the United Kingdom, where one gets backer rewards and backs a specific project. Noticeably, here, the person pledges in return for equity (or share) of the company. It is noteworthy that Chirp is raising 400,000 Euros in return for 16.7% of the company. It doesn’t require the backer to have a net worth greater than a million dollars to become an accredited investor which opens doors to a much wider range of people.
The Chirp platform is momentous in the realisation of the Internet of Things dream because it effectively meets the requirement of a uniform protocol for all the things which are about to be connected. Until now, there are no unified standards to fulfill this because of the great diversity of devices that make up the Internet of Things. Not every device can have enough processing powers or even memory to run a TCP stack, hence, it’s not going to run the internet. However, the Internet of Sound can make the Internet of Things possible in reality.
However, the data transfer over audio is going to be slow and there are possibilities that the signal is rich in data but hideous in sound or otherwise the signal may be irritating and unreliable at the same instant of time.Moreover, the process can be insecure  by design. But, the hope remains as novel and initiative ideas are being worked upon by the researchers to get the problems solved and make the Internet of Sound a better thought. New hardware can escalate the process- the ever cheaper and devoted DSP (Digital Signal Processing) chips in mobiles and other connected devices can optimise the reach and efficiency of Internet of Things products.
Therefore, the world is soon going to attain the potential to re-engineer sounds, music and audio for the sake of data sharing. Thus, where there is sound, there is data.
Do you like the article on Internet of Sound? Tell us through your comments.

Saturday, 3 December 2016

Internet of Things

The Internet of Things (IoT) is a system of interrelated computing devices, mechanical and digital machines, objects, animals or people that are provided with unique identifiers and the ability to transfer data over a network without requiring human-to-human or human-to-computer interaction.A thing, in the Internet of Things, can be a person with a heart monitor implant, a farm animal with a biochip transponder, an automobile that has built-in sensors to alert the driver when tire pressure is low -- or any other natural or man-made object that can be assigned an IP address and provided with the ability to transfer data over a network. IoT has evolved from the convergence of wireless technologies, micro-electromechanical systems (MEMS), microservices and the internet. The convergence has helped tear down the silo walls between operational technology (OT) and information technology (IT), allowing unstructured machine-generated data to be analyzed for insights that will drive improvements.Kevin Ashton, cofounder and executive director of the Auto-ID Center at MIT, first mentioned the Internet of Things in a presentation he made to Procter & Gamble in 1999. Here’s how Ashton explains the potential of the Internet of Things:“Today computers -- and, therefore, the internet -- are almost wholly dependent on human beings for information. Nearly all of the roughly 50 petabytes (a petabyte is 1,024 terabytes) of data available on the internet were first captured and created by human beings by typing, pressing a record button, taking a digital picture or scanning a bar code. The problem is, people have limited time, attention and accuracy -- all of which means they are not very good at capturing data about things in the real world. If we had computers that knew everything there was to know about things -- using data they gathered without any help from us -- we would be able to track and count everything and greatly reduce waste, loss and cost. We would know when things needed replacing, repairing or recalling and whether they were fresh or past their best.”IPv6’s huge increase in address space is an important factor in the development of the Internet of Things. According to Steve Leibson, who identifies himself as “occasional docent at the Computer History Museum,” the address space expansion means that we could “assign an IPV6 address to every atom on the surface of the earth, and still have enough addresses left to do another 100+ earths.” In other words, humans could easily assign an IP address to every "thing" on the planet. An increase in the number of smart nodes, as well as the amount of upstream data the nodes generate, is expected to raise new concerns about data privacy, data sovereignty and security. Practical applications of IoT technology can be found in many industries today, including precision agriculture, building management, healthcare, energy and transportation. Connectivity options for electronics engineers and application developers working on products and systems for the Internet of Things include:Although the concept wasn't named until 1999, the Internet of Things has been in development for decades. The first internet appliance, for example, was a Coke machine at Carnegie Melon University in the early 1980s. The programmers could connect to the machine over the internet, check the status of the machine and determine whether or not there would be a cold drink awaiting them, should they decide to make the trip down to the machine.