Welcome to curated list of handpicked free online resources related to IT, cloud, Big Data, programming languages, Devops. Fresh news and community maintained list of links updated daily. Like what you see? [ Join our newsletter ]

Understand TensorFlow by mimicking its API from scratch

Categories

Tags programming big-data big-data learning machine-learning

An article by Dominic Elm about learning TensorFlow. TensorFlow is a very powerful and open source library for implementing and deploying large-scale machine learning models.

Over the years TensorFlow has become one of the most popular libraries for deep learning. The author’s goal was to build an intuition and understanding for how deep learning libraries work under the hood, specifically TensorFlow.

TensorFlow is a framework composed of two core building blocks – a library for defining computational graphs and a runtime for executing such graphs on a variety of different hardware.

You will then also get more information on:

  • Computational graphs
  • TensorFlow basics (variables, placeholders, constants, operations, graph, session)
  • Implementing TensorFlow’s API from scratch

All that in details with many supporting charts, graphs and example code. Happy data science!

[Read More]

React Behavior Driven Development (BDD)

Categories

Tags programming tdd javascript nodejs frontend app-development

John Tucker wrote this little guide in which he explores React BDD using Gherkin syntax with Jest Cucumber.

Behaviour-Driven Development (BDD) is a collaborative approach to software development that bridges the communication gap between business and IT. BDD helps teams communicate requirements with more precision, discover defects early and produce software that remains maintainable over time.

The two main practices in the BDD approach are discovery workshops, which bridge the communication gap between business and IT, and executable specifications.

The examples in this article were created with:

  • Create React App; TypeScript option
  • Jest
  • Test Render

The author then explains how to create basic example of Jest Cucumber integration.

Feature: Sum Pairs
  It sums pairs of numbers

  Scenario Outline: adds x + y to equal sum
    Given x is <x>
    When add <y>
    Then the sum is <sum>

  Examples:
    | x | y | sum |
    | 1 | 2 | 3 |
    | 0 | 1 | 1 |
    | -1 | 1 | 0 |
    | 1 | 0 | 1 |

Even with this most simple of examples, we can start to see the value of this more declarative approach; at a glance it is more clear what the tests do. Example code also available.

BDD (with Gherkin syntax) has value on the complete development cycle; from feature generation, to development, testing, and acceptance. Very nice!

[Read More]

How to build Raspberry Pi UPS (Uninterruptible Power Supply)

Categories

Tags programming learning servers miscellaneous robotics

Tutorial by Zach Levine published on howchoo.com. He will teach you how to build your own Raspberry Pi UPS using some simple hardware. You can use this method to power a Raspberry Pi 3, Raspberry Pi Zero, or any other Pi.

An uninterruptible power supply ensures that your Pi project will continue to function through minor power fluctuations, power outages, or even the occasional bumped AC adapter.

If you don’t shut your Raspberry Pi down properly, you risk corrupting your Pi’s SD card, sort of like yanking the cord out of your desktop computer every time you want to shut it down.

The right UPS setup can even notify you or send a safe shutdown command to the Pi if the UPS battery gets too low.

The article is detailed and amongst others explains:

  • Raspberry Pi UPS options
  • UPS runtime
  • How to install Raspbian & configure your Raspberry Pi
  • Connect the PiJuice hardware (HAT)
  • How to install the PiJuice software

… and much more. You will also get detailed images depicting all that steps. Pretty neat!

[Read More]

17 coding challenges to sharpen your critical thinking

Categories

Tags programming web-development miscellaneous learning

Alex Ivanovs created this vast resource of links to platforms offering exciting challenges for coders of all level. If you want to improve your skills in an existing or a new programming language, one of the best ways to do it is through coding challenges.

Coding challenges can be both fun and a test at the same time.

The benefits, apart from the obvious, with working on these challenges include better problem-solving skills, in-depth language understanding, and the joy of learning new algorithms.

His post covers some of the best coding challenge websites and platforms that there are. Some are beginner-friendly, while others cater to a more experienced audience.

Just a selection of few:

  • Coderbyte
  • Codewars
  • Edabit
  • CodinGame

For the list of the rest with short description and review of each platform head to the original article. In total, there’s probably 10,000’s of unique code challenges across all the sites and platforms author listed.

Author’s recommendation is to find a platform that you feel best fits your needs and focus on that one platform only. Marvelous!

[Read More]

Clean code checklist in Angular

Categories

Tags angular javascript nodejs frontend web-development

Mathis Garberg posted a piece about how as we become better developers, structuring and organizing code becomes more and more important. Angular has rapidly grown to become one of the most popular frameworks for building front-end, cross-platform web applications. To master it, author decided to put together a clean code checklist which covers my personal recommendations for writing clean production-ready Angular code.

The time spent attempting to understand someone else’s code takes up large portion of our day to day operations. We should therefore consciously try to improve the quality of our code.

You will find clear advice on:

  • Style guide
  • Angular CLI
  • Folder structure
  • How to write readable code
  • Separation of concerns
  • How to utilize typescript
  • Lazy Load Your Modules

… and much more in this detailed guide. Angular is a very powerful framework with a lot of functionality. But if you’re new to the game, it can seem overwhelming with all its different options and whatnot. Good read!

[Read More]

High availability and scalable reads in PostgreSQL

Categories

Tags programming database servers distributed cio

A detailed primer on scaling PostgreSQL via streaming replication (with performance measurements) by Lee Hampton – R&D Engineer at TimescaleDB. Despite popularity of PostgreSQL developers often still choose a non-relational (or “NoSQL”) system over PostgreSQL, typically because of one reason: scale. Most developers still underestimate PostgreSQL native scalability.

When it comes to scalability, author found that developers are typically looking for some combination of the following three requirements:

  • Higher insert performance
  • Higher read performance
  • High availability (technically not related to scale, yet still often cited as a reason)

PostgreSQL already natively supports two of those requirements, higher read performance and high-availability, via a feature called streaming replication. PostgreSQL streaming replication leverages the Write Ahead Log (WAL).

The article then digs deeper into:

  • How PostgreSQL streaming replication works
  • What Is The WAL Anyway?
  • WAL and Replication
  • Different Replication Modes For Different Situations

… and much more in this very educational piece. Great work!

[Read More]

How to make WordPress page cache plugins fly with NGINX

Categories

Tags nginx web-development php programming

Ashley Rich posted an article about improving WordPress performance using NGINX caching. There are a ton of WordPress page caching plugins available, but limiting yourself to cache plugins alone means leaving significant performance improvements on the table.

WordPress page caching plugins alleviate this issue by generating a static HTML version of the request, which is usually saved to the filesystem. Subsequent requests serve the static HTML file, instead of querying the database and re-rendering the page.

One thing is clear, NGINX FastCGI Caching is blazingly fast and relatively easy to configure. However, it does have its quirks, namely, the difficulty with invalidating the cache.

NGINX FastCGI Caching works great when both NGINX and PHP run under the same system user.

The article has following sections:

  • How WordPress page caching plugins work
  • Why caching plugins perform poorly in NGINX
  • Making Simple Cache Fly

Handy NGINX feature is also automatic compression of HTML files before sending them to the browser. Interesting read for any web developer!

[Read More]

Load balancing with HAProxy, Nginx and Keepalived in Linux

Categories

Tags nginx web-development cloud software-architecture

Tutorial by Rishi Raj Gautam on linuxhandbook.com focusing on load balancers. Having a proper set up of load balancer allows your web server to handle high traffic smoothly instead of crashing down. In this tutorial, he explains how to setup a load balancer with high availability.

Load balancing is the process of distributing workloads to multiple servers. It is like distributing workloads between day shift and night shift workers in a company.

In this tutorial, we are going to set up a load balancer for web server using Nginx, HAProxy and Keepalived. Out of three the less known is Keepalived. [Keepalived] is an open-source program that supports both load balancing and high availability. It is basically a routing software and provides two types of load balancing:

  • Layer 4 (transport layer)
  • Layer 7 (application layer)

Keepalived can perform following 2 functions very well:

  • Health checking
  • Implements VRRP (virtual redundancy routing protocol) to handle load-balance failover

Detailed instructions and setup together with informational charts in the article. Great read!

[Read More]

Enterprise-level data science: lessons from the front lines

Categories

Tags big-data data-science machine-learning analytics

Blog post by Levi Brackman on best practices for enterprise level data science. Data science, machine learning (ML) and artificial intelligence (AI) are relatively new endeavors for enterprise-level business. Many companies are batch training as well as batch scoring ML models.

Author gives a high-level overview of his experiences building an enterprise-level data science and ML/AI capability from the ground up.

The most important thing to realize when starting a large enterprise data science project that deploys AI is that the correct infrastructure needs to be in place or built out either on-premises or in the cloud.

The article describes:

  • Motivation, challenges, and solutions for building enterprise scale ML / AI capability
  • Infrastructure
  • Talent (beyond data scientists)
  • Enterprise Software
  • Productionalization
  • DevOps
  • AI Evangelism

… and more. Good read!

[Read More]

Data Mining and Predictive Analytics: Things we should care about

Categories

Tags analytics miscellaneous big-data cio data-science

Vikash Kumar from custom application development company Tatvasoft published this post about predicitive analytics. Data and tons of data are found at the core of any organization’s success or failure. Businesses are going with all guns to create a better position in the marketplace by understanding their customer base, making constant improvements in their operations, outperforming their competitors and what not!

Data mining + Domain knowledge => predictive analytics => Business Value

Data mining – is an analytic process used to explore a large amount of data in regards to consistent patterns and systematic relationships between variables.

Predictive analyses, on the other hand, refine data resources, in particular, to extract hidden value from those newly discovered patterns.

Predictive analytics aims to identify the likelihood of future events based on historical data. By using data, mathematical algorithms and machine learning technology, predictive analytics has the potential to provide the best evaluation of what will happen.

Predictive analytics can offer:

  • Valuable insight
  • Increase competitive edge
  • Predict trends
  • Identify new business opportunities in time

Please visit original article to learn more. Nice and to the point definitions!

[Read More]