|Explained Simply

Straight to the point articles covering the basic theory on various technology topics

The essence of JSON

JSON means JavaScript Object Notation. It is an open source text base standard for data exchange. Primary usage of JSON is to transmit data between web browsers and servers as alternative of XML. Syntax rules Data is a key-value pair (also reffered to as property) separated by a comma. Keys are always strings.Curly brackets hold

2018-12-23T17:26:24+03:00By |Categories: Explained Simply|Tags: |0 Comments

Trees vs. Graphs

Trees and graphs are data structures used to resolve various complex problems. Knowing the difference between them is useful in terms of better understanding of the non-linear way of storing data. Definition: Trees and graphs are both abstract data structures. They are a non-linear collection of objects, which means that there is no sequence between

2019-04-07T13:20:21+03:00By |Categories: Explained Simply|Tags: , |0 Comments

Recursion vs. Iteration

Both algorithms repeatedly execute a set of instructions. Recursion is a function that call itself repeatedly. Iteration is when a loop is executed repeatedly while certain condition is true. Differences between recursion and iteration: Recursion is a process applied on a function, iteration does not require a function.Infinite recursion can lead to system crash (stack

2018-12-06T23:24:08+03:00By |Categories: Explained Simply|Tags: , |0 Comments

Stacks vs. Queues

Stacks and queues are both very commonly used data structures. They dynamically store and retrieve data items in two different ways. Let’s take a look at these two principles, so we can understand what differences they have and where their uses may be applicable. Definition: Stacks and queues are both abstract data structures and the

2019-04-07T13:26:28+03:00By |Categories: Explained Simply|Tags: |0 Comments

What is Recursion?

In the film "Edge of Tomorrow", the main character, Major William Cage, fights against aliens and gets to relive the same day over and over again. Each time he dies, accidentally or with purpose, he is brought back to the same point in time. This special ability allows him to overcome the challenges he is

2018-12-05T21:04:58+03:00By |Categories: Explained Simply|Tags: |0 Comments

Bit Manipulation in C

Writing programs for embedded systems often requires the manipulation of individual bits. Below is a list of the most common operations. In the examples we are performing them on an unsigned long variable called ctrl_reg. Setting a bit We can set a bit using the bitwise OR operator (|): ctrl_reg |= 1UL << n; The

2018-08-17T22:57:56+03:00By |Categories: Explained Simply|0 Comments

Git – Basic Commands

Using Git requires getting familiar with its commands and their usage. The list below contains some of the more important commands: init - Used for creating and initializing repository (project). Most often it is done on a server where the entire repository is stored. clone - Download repository. add - Add files to git repository. commit

2018-12-03T22:38:42+03:00By |Categories: Explained Simply|0 Comments

Clock Skew Removal (Clock Deskewing) using PLL and DLL

Clock Skew Clock skew exists in every synchronous system. The edge of the system clock arrives at different times at different points in the system. This difference in arrival times is defined as clock skew. Few facts about clock skew: It's caused by different path delays to different points in the design. It's is constant from cycle

2019-04-07T13:32:38+03:00By |Categories: Explained Simply|Tags: , |0 Comments

Phase Locked Loop (PLL) and Delay Locked Loop (DLL) Basics

Phase-Locked Loop (PLL) A PLL is a negative feedback system where an oscillator-generated signal is phase and frequency locked to a reference signal. Typical applications of PLL are: Frequency Synthesis (e.g. generating a 1 GHz clock from a 50 MHz reference) Clock Deskewing (e.g. phase-aligning an internal clock to an output clock to external device) Extracting

2019-04-07T13:33:32+03:00By |Categories: Explained Simply|Tags: , , |0 Comments

Phonetic Algorithm Soundex

Soundex algorithm is used for encoding English words on the basis of their sound. The main purpose is to avoid spelling errors when recording the names of people in a census. Source code can be presented as a code of 4 characters in the form LDDD, where L is the first letter of the name

2017-04-17T11:38:33+03:00By |Categories: Explained Simply|0 Comments