A Data structure is a way to store and organize data in order to facilitate access and modifications. Each, among all the existed, has it's strengths and limitations, which are to be understood before using any - No single data structure works well for all purposes.
Sunday, December 17, 2017
Sunday, November 12, 2017
What is an Algorithm?
An Algorithm is a sequence of computational steps (to reorder set of numbers, say for an instance) that transform the input ({6, 2, 5, 1, 4, 3}) into the output ({1, 2, 3, 4, 5, 6}).
Saturday, October 28, 2017
OpenGL client-server Model
OpenGL is also designed to work with X Window System, wherein, multiple computers are connected to one another via network and the computer that displays the graphics you create might not be the computer that runs your graphics program. In which case, the computer on which your program runs and issues OpenGL drawing commands is called the client and the computer that receives those commands and performs the drawing is called the server. OpenGL programs can work across a network even if the client and server are different kinds of computers as the protocol for transmitting OpenGL commands is always the same.
If an OpenGL program is not running across a network, then there must only be one computer and is both the client and server.
Wednesday, September 20, 2017
GLU
OpenGL Utility Library is more sophisticated, built on top of OpenGL (which otherwise allows you to build your desired model up from a small set of geometric primitives - points, lines and polygons) that provides high-level interface for describing relatively more complicated models of 3D objects - automobiles, parts of the body, airplanes, or molecules besides setting up matrices for specific viewing orientations and projections, performing polygon tessellation and rendering surfaces.
Friday, August 4, 2017
AI vs Machine Learning vs Deep Learning
Artificial Intelligence - Human Intelligence exhibited by Machines.
Machine Learning - An Approach to Achieve Artificial Intelligence.
Deep Learning - A Technique for Implementing Machine Learning.
Artificial Intelligence is a generalized form of Machine and Deep Learning and check this incredible post for detailed information.
Succinctly, Deep Learning is-a Machine Learning is-a(n) Artificial Intelligence.
Tuesday, August 1, 2017
Deep Learning
Deep Learning extends (IS-A a type of) Machine Learning by adding cascade of layers to efficiently exercise data patterns before predicting the outcome to the closest possible, which lead to some scenarios better than humans.
Today's driver-less cars do use this mechanism underneath.
Today's driver-less cars do use this mechanism underneath.
Saturday, July 15, 2017
Qt
Qt (pronounced cute) is a free and open-source widget toolkit for creating graphical user interfaces as well as cross-platform applications that run on various software and hardware platforms such as Linux, Windows, macOS, Android or embedded systems with little or no change in the underlying code base.
~ Wiki
Sunday, June 4, 2017
Machine Learning
Machine Learning extends (IS-A type of) Artificial Intelligence (AI) by incorporating algorithms - are often categorized as supervised and unsupervised - into computers with an ability to learn without being explicitly programmed when exposed to the new data.
Tuesday, May 9, 2017
Saturday, April 22, 2017
OpenCV
Open Source Computer Vision is a library of functions, designed for computational efficiency with a strong focus on real-time computer vision applications. Having written in optimized C/C++, the library can take advantage of multi-core processing. Enabled with OpenCL, so it can take advantage of the hardware acceleration of the underlying heterogeneous compute platform.
It has C, C++, Python, Java and MATLAB interfaces and supports Windows, Linux, Android and Mac OS.
Deployed uses span the range from stitching street view images together, detecting intrusions in surveillance video, monitoring mine equipment, helping robots navigate and pick up objects, detection of swimming pool drowning accidents, checking runways for debris and inspecting labels on products in factories on to rapid face detection.
~ Wiki
Saturday, March 18, 2017
Tuesday, February 7, 2017
OpenCL
Open Computing Language is the open standard for cross-platform, parallel programming diverse processors found in personal computers, servers, mobile devices and embedded platforms. It greatly improves the speed and responsiveness of a wide spectrum of applications including gaming, scientific, medical software, professional creative tools and vision processing etc...
To put it in a nutshell, the open standard for parallel programming of heterogeneous systems.
~ Wiki
Sunday, January 1, 2017
CUDA vs OpenGL
CUDA is a parallel computing platform API, which extended the usage of GPU (which was otherwise used only for graphics processing) for general purpose processing. But the scope is limited to CUDA-enabled GPUs manufactured by NVIDIA only and does not work on different GPUs by other manufacturers. CUDA platform is designed to work with C, C++ and Fortran programming languages hence easier to code straight to GPU. Compatible with most standard operating systems.
e.g. Identify hidden plaque in arteries, Analyze air traffic flow and Visualize molecules etc...
OpenGL is a graphics library, which provides set of API that makes use of GPU (hardware-accelerated) to render graphics faster - focus is specific to rendering on GPUs. Supported on essentially every GPU. Required advanced skills in graphics programming. It is language and platform independent.
e.g. CAD, Virtual reality, Flight simulation and Video games etc...