Gordon  Taylor

Gordon Taylor


Epoch: A General Purpose Real-time Charting Library


By Ryan Sandor Richards

Epoch is a general purpose charting library for application developers and visualization designers. It focuses on two different aspects of visualization programming: basic charts for creating historical reports, and real-time charts for displaying frequently updating timeseries data.

To get started using Epoch, please refer to the Epoch Project Site. There you can find full documentation and guides to help you start using Epoch right away.


Epoch can be easily installed via the following package managers:

If you don't see your favorite package manager in the list above feel free to open up an issue and let us know. Finally, you can download any release of the library from the project releases page.

Important: Epoch requires d3. In order to work properly your page must load d3 before epoch.

Public CDN URLs

If you don't want to host the files yourself, you can use jsDelivr to serve the files:

  1. Visit epoch page on jsDelvr.
  2. Copy the provided URL's and link to them in your project.

Developing Epoch

Developing Epoch is a reasonably straight forward process. In this section we'll cover the basic on how to develop Epoch by detailing common build task, exploring how the source is arranged, and finally show how to use rendering tests to aid development.

Configuring Development Environment

Epoch requires the following for development:

  1. Node.js (v4.1.1+)
  2. NPM (v2.1.0+)

Once both are installed on your machine you will need to run npm install from the repository's root directory in order to install the npm packages required to develop epoch.

Once you have installed the required npm packages you can use gulp build to fully rebuild the source (see more information about gulp tasks below).

Basic Development Process

The best way to start contributing to Epoch is to follow these steps:

  1. Change to the source directory for the project
  2. Run gulp watch to recompile the project after source files change
  3. Make changes in a source file (either in src/ or sass/)
  4. In a web browser open the test/index.html and browse the rendering tests
  5. Use the rendering tests to see if your changes had the desired result
  6. Ensure unit tests with pass npm test


Epoch uses two types of testing to ensure that changes do not cause unintended side effects. The first, unit tests, ensure that the core functional components of the library work as expected. The second, rendering tests, allow you to ensure that charts and graphs are correctly rendered.

It is important to keep both unit test and rendering tests up-to-date! When developing, use the following guidelines:

  • When adding new features make sure to add new tests
  • When changing existing functionality, ensure that the appropriate both types of tests still pass
  • If you want to make a new type of chart, add a whole new test suite for that chart!

Keeping the tests current makes it easier for others to review your code and spot issues. Also, pull requests without appropriate testing will not be merged.

Gulp Tasks

Epoch uses gulp to perform various tasks. The gulpfile.js file defines the following tasks:

  • gulp clean - Cleans the dist/ directory.
  • gulp build - Builds the CoffeeScript and Sass source into the dist/ directory.
  • gulp watch - Starts a watch script to recompile CoffeeScript and Sass when any files change.

Source Structure

The directory structure for the Epoch project follows some basic guidelines, here's an overview of how it is structured:

dist/                  - Compiled JavaScript and CSS source
src/                   - Main source directory
  core/                - Core Epoch Library Files
    util.coffee        - Library Utility Routines
    d3.coffee          - d3 Extensions
    format.coffee      - Data formatters
    chart.coffee       - Base Chart Classes
    css.coffee         - CSS Querying Engine
  adapters/            - 3rd Party Library Adapters (currently only jQuery)
  basic/               - Basic Chart Classes
  time/                - Real-time Chart Classes
  adapters.coffee      - Options / Global Classes for Adapter Implementations
  basic.coffee         - Base Classes for Basic Charts
  data.coffee          - Data Formatting
  epoch.coffee         - Main source file, defines name spaces, etc.
  model.coffee         - Data Model
  time.coffee          - Base Classes for Real-Time Charts
sass/                  - Scss source for the default epoch stylesheet
  render/              - Rendering tests
    basic/             - Basic chart rendering tests
    real-time/         - Real-time rendering tests
  unit/                - Unit tests

Release Checklist

  • Run npm test and ensure all tests pass
  • Run npm version [major|minor|patch]
  • Run npm publish
  • Update CHANGELOG.md with the changes since last release
  • Update the gh-pages branch's library version in _config.yml

Author: Epochjs
Source Code: https://github.com/epochjs/epoch 
License: MIT License

#javascript #html 

What is GEEK

Buddha Community

Epoch: A General Purpose Real-time Charting Library
Ian  Robinson

Ian Robinson


4 Real-Time Data Analytics Predictions for 2021

Data management, analytics, data science, and real-time systems will converge this year enabling new automated and self-learning solutions for real-time business operations.

The global pandemic of 2020 has upended social behaviors and business operations. Working from home is the new normal for many, and technology has accelerated and opened new lines of business. Retail and travel have been hit hard, and tech-savvy companies are reinventing e-commerce and in-store channels to survive and thrive. In biotech, pharma, and healthcare, analytics command centers have become the center of operations, much like network operation centers in transport and logistics during pre-COVID times.

While data management and analytics have been critical to strategy and growth over the last decade, COVID-19 has propelled these functions into the center of business operations. Data science and analytics have become a focal point for business leaders to make critical decisions like how to adapt business in this new order of supply and demand and forecast what lies ahead.

In the next year, I anticipate a convergence of data, analytics, integration, and DevOps to create an environment for rapid development of AI-infused applications to address business challenges and opportunities. We will see a proliferation of API-led microservices developer environments for real-time data integration, and the emergence of data hubs as a bridge between at-rest and in-motion data assets, and event-enabled analytics with deeper collaboration between data scientists, DevOps, and ModelOps developers. From this, an ML engineer persona will emerge.

#analytics #artificial intelligence technologies #big data #big data analysis tools #from our experts #machine learning #real-time decisions #real-time analytics #real-time data #real-time data analytics

Jessica Smith

Jessica Smith



Build a Real Time chat application that can integrated into your social handles. Add more life to your website or support portal with a real time chat solutions for mobile apps that shows online presence indicators, typing status, timestamp, multimedia sharing and much more. Users can also log into the live chat app using their social media logins sparing them from the need to remember usernames and passwords. For more information call us at +18444455767 or email us at hello@sisgain.com or Visit: https://sisgain.com/instant-real-time-chat-solutions-mobile-apps

#real time chat solutions for mobile apps #real time chat app development solutions #live chat software for mobile #live chat software solutions #real time chat app development #real time chat applications in java script

Einar  Hintz

Einar Hintz


Visualizing data with NGX-Charts in Angular

Data Science, Data Analytics, Big Data, these are the buzz words of today’s world. A huge amount of data is being generated and analyzed every day. So communicating the insights from that data becomes crucial. Charts help visualize the data and communicate the result of the analysis with charts, it becomes easy to understand the data.

There are a lot of libraries for angular that can be used to build charts. In this blog, we will look at one such library, NGX-Charts. We will see how to use it in angular and how to build data visualizations.

What we will cover:

  1. Installing ngx-chart.

  2. Building a vertical bar graph.

  3. Building a pie chart.

  4. Building an advanced pie chart.

A brief introduction about NGX-Charts

NGX-Chart charting framework for angular2+. It’s open-source and maintained by Swimlane.

NGX-Charts does not merely wrap d3, nor any other chart engine for that matter. It is using Angular to render and animate the SVG elements with all of its binding and speed goodness and uses d3 for the excellent math functions, scales, axis and shape generators, etc. By having Angular do all of the renderings it opens us up to endless possibilities the Angular platform provides such as AoT, Universal, etc.

NGX-Charts supports various chart types like bar charts, line charts, area charts, pie charts, bubble charts, doughnut charts, gauge charts, heatmap, treemap, and number cards.

Installation and Setup

1. Install the ngx-chart package in your angular app.

npm install @swimlane/ngx-charts --save

2. At the time of installing or when you serve your application is you get an error:

ERROR in The target entry-point "@swimlane/ngx-charts" has missing dependencies: - @angular/cdk/portal

You also need to install angular/cdk

npm install @angular/cdk --save

3. Import NgxChartsModule from ‘ngx-charts’ in AppModule

4. NgxChartModule also requires BrowserAnimationModule. Import is inAppModule.


import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { AppComponent } from './app.component';
import { NgxChartsModule }from '@swimlane/ngx-charts';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
  declarations: [
  imports: [
  providers: [],
  bootstrap: [AppComponent]
export class AppModule { }

Amazing! Now we can start using ngx-chart component and build the graph we want.

In the AppComponent we will provide data that the chart will represent. It’s a sample data for vehicles on the road survey.

#angular #angular 6 #scala #angular #angular 9 #bar chart #charting #charts #d3 charts #data visualisation #ngx #ngx charts #pie

Arun A


ASP.NET Core Charts - Rich & Interactive Graphs with Real-time data

The ASP.NET Core Chart is a well-crafted charting component to visualize data. It contains a rich UI gallery of 30+ charts and graphs, ranging from line to financial that cater to all charting scenarios. Its high performance helps render large amounts of data quickly. It also comes with features such as zooming, panning, tooltip, crosshair, trackball, highlight, and selection.

Why choose Syncfusion ASP.NET Core charts?

30+ Chart types
Ranging from simple day-to-day charts like line charts, bar charts, area charts to complex financial charts that are highly customizable.

Chart animation
Charts for ASP.NET Core provides fluid animation to represent data with smooth transitions.

Well thought out efforts, and focuses mainly on fast paced performance to render 100k data in less than a second.

SVG rendering
Vector based clean and crisp rendering for all your responsive and scaling needs.

Data Editing
Provides drag and drop support to the rendered points. Data editing allows you to manipulate the data on a chart.

Shows the price direction and movement speed. Trendlines can be generated for Cartesian type series (Line, Column, Scatter, Area, Candle, HiLo, etc.) except bar. More than one trendline can be added to a series.

Globalization and localization
Enables users from different locales to use them by formatting dates, currency, and numbering to suit preferences.

Export charts to PDF documents or as image formats such as SVG, PNG and JPEG.

#asp.net core charts #chart types #charts #web-development #graphs

 iOS App Dev

iOS App Dev


Apache Hudi: How Uber Gets Data a Ride to its Destination

Apache Hudi provides tools to ingest data into HDFS or cloud storage, and is designed to get data into the hands of users and analysts quickly.

At a busy, data-intensive enterprise such as Uber, the volumes of real-time data that need to move through its systems on a minute-by-minute basis reaches epic proportions. This calls for a data lake extraordinaire, in which data can immediately be extracted and leveraged across a range of functions, from back-end business applications to front-end mobile apps. Uber depends on up-to-the-minute bookings and alerts as part of its appeal to customers, so its reliance on real-time data streaming platforms is off-the-charts. It has turned to Apache Hudi, an emerging platform that brings stream processing to big data, providing fresh data while being an order of magnitude efficient over traditional batch processing.

I recently had the opportunity to moderate a webcast about Apache Hudi with Nishith Agarwal and Sivabalan Narayanan, both engineers with Uber. Both Agarwal and Narayanan are active members of the Hudi programming committee.

The Hudi data lake project was originally developed at Uber in 2016, open-sourced in 2017, and submitted to the Apache Incubator in January 2019. Apache Hudi data lake technology enables stream processing on top of Apache Hadoop compatible cloud stores and distributed file systems. The solution provides tools to ingest data onto HDFS or cloud storage, as well as provide an incremental approach to resource-intensive ETL, Hive, or Spark jobs. It is designed to get data into the hands of users and analysts much quicker.

#analytics #big data #big data platforms #data management #expert systems #from our experts #real-time decisions #real-time applications #real-time data