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 ]

End-to-End web testing with TestCafe

Categories

Tags programming tdd nodejs

Moataz Nabil wrote this article about faster end to end testing of web applications. TestCafe is a Node.js tool to automate end-to-end web testing. You can write tests in JS or TypeScript, run them and view results.

End-to-end testing is where you test your whole application from start to finish. It involves assuring that all the integrated pieces of an application function and work together as expected.

End-to-end tests simulate real user scenarios, essentially testing how a real user would use the application.

Here are some features this article explains:

  • What is TestCafe and why it does not use WebDriver
  • TestCafe works on all popular environment including mobile
  • Tests can be written in TypeScript or JavasScript
  • Supports parallel testing against multiple browsers
  • TestCafe and Jenkins ci tooling
  • IDE plugins and support

Good read with installation instructions, code and test examples!

[Read More]

How to build a mini supercomputer for under $100

Categories

Tags programming cloud data-science agile

An article by Daniel Oberhaus in which he offers a quick inside how Wei Lin built a scalable computing cluster comprised of $7 chips. Github user Wei Lin has demonstrated, it’s possible to make a home made computing cluster that doesn’t break the bank.

In most cases, a supercomputer is actually a computing cluster that is comprised of hundreds or thousands of individual computers that are all linked together and controlled by software.

In his solution Lin used ESP32 chips. A single Raspberry Pi costs around $30, an ESP32 only costs about $7 (manufactured in China).

The main challenge, according to Lin, was figuring out how to coordinate computing tasks across each of the chips. For this, they used a program called Celery that is optimized for synchronizing computing tasks across several cores.

For video and more resources read this brilliant article.

[Read More]

TensorFlow on Mobile: TensorFlow Lite introduction

Categories

Tags android big-data app-development

Sagar Sharma short introduction to TensorFlow on mobile. TensorFlow Lite is a lightweight and a next step from TensorFlow Mobile. You can do almost all the things that you do on TensorFlow mobile but much faster.

Just like TensorFlow Mobile it is focused on the mobile and embedded device developers, so that they can make next level applications on systems like Android, iOS, Raspberry PI etc.

What is included with TensorFlow Lite:

  • Android neural networks API and C++ API
  • New model file format .tflite
  • Speed: new neural network API makes computation much faster
  • Privacy: the data does not leave the device
  • Availability: it works offline
  • No computation cost: computation on your device, no server needed
  • Pre-tested models: models work out of the box

There are some caveats as well. You will need to pay attention to the size of your models. Models may take up multiple megabytes of space. Evaluating neural networks involve a lot of computation, which could increase battery power usage.

Links to further reading, resources and explanation charts also included in this article. Nice reading!

[Read More]

Parallel development is killing your productivity!

Categories

Tags programming management agile teams

Mike Hall to the point article about similarity between content switching and parallel development. Parallel Development is working multiple projects or features at the same time. Parallel Development has, unfortunately, become commonplace in industry and accepted as the default standard way of organizing work.

We have more work than people. Thus, our people need to be good enough to work multiple projects and show good progress on all of them.

There are many disadvantages to Parallel Development including:

  • Delayed delivery of business value
  • High cost of context switching
  • Inefficient work model
  • Low employee morale

The good news is this: there is a better way! Serial Development is when the Agile team focuses on a single project and single feature at a time. Well written, to learn more follow the link below!

[Read More]

Minimum Viable Product (MVP) and design -- balancing risk to gain reward

Categories

Tags ux web-development management

An article from Interaction Design Foundation on the merit of MVP. The idea of the minimum viable product (MVP) has been around for some time. But why is the concept of value vital to the MVP strategy?

The simplest definition is that an MVP must be the simplest core feature set of any product that allows it to be deployed and absolutely nothing more.

The term itself was coined by Frank Robinson but was made popular by two influential names in product design – Steve Blank, a serial-entrepreneur and academic, and Eric Ries, the pioneer of the Lean Startup movement.

An article then dives into what are the benefits of using an MVP process for design, e.g.:

  • You can test your understanding of whether the product is needed without having to use a huge amount of resources
  • You can accelerate the team’s learning
  • You can minimize the number of wasted hours
  • You can go to market faster

And much more. Nice visuals and graphs are also included to explain the subject better. Good read!

[Read More]

Splitting up Terraform & state file separation

Categories

Tags programming devops aws serverless

Site reliability engineer Matt Ouille’s article about terraform state files. Terraform is a tool for building, changing, and versioning infrastructure safely and efficiently. They’re formatted in regular JSON but carry a lot of metadata that helps Terraform plan and predict what will happen with your infrastructure.

All infrastructure orchestrators have to work off of some sort of state. Interpreting live infrastructure state is complicated and sluggish at scale so many of them resort to some sort of centrally hosted file system that indicates this state to them.

State files literally are the single source of truth, as far as Terraform is concerned, in regard to your infrastructure.

The article focuses on:

  • State files important things to know
  • State file contents and jargon
  • State file separation
  • Workspaces

Good overview and interesting read!

[Read More]

Everything you need to know about tree data structures

Categories

Tags programming search data-science

Article by author TK focusing on data tree structures. If you are pursuing a Computer Science degree, you have to take a class on data structure. You will learn about linked lists, queues, and stacks. Those data structures are called “linear” data structures because they all have a logical start and a logical end. However, trees and graphs don’t store data linear. Both data structures store data in a specific way.

Trees and graphs organize data hierarchically.

In the article you will learn:

  • What is a tree
  • Examples of trees
  • Its terminology and how it works
  • How to implement tree structures in code

Each section introduces examples from real life for better understanding of the data structures. And of course code examples are provided, too. Nice read!

[Read More]

Maven scopes vs. Gradle configurations

Categories

Tags scala programming

Andres Amiray blog post about comparison of Maven and Gradle. Both Maven and Gradle are popular choices when it comes to building Java projects. These tools share common traits but there are some key differences that make you more productive depending on a particular scenario.

Scopes and configurations are used by each tool to define dependencies and how they affect different classpaths, such as the compilation and runtime classpaths.

Maven defines 6 scopes and Gradle on the other hand defines a few more. Article then explains the behaviour for each scope in detail, e.g.

  • Compile - dependencies are available in all classpaths of a project
  • Provided - indicates you expect the JDK or a container to provide the dependency at runtime
  • Runtime - dependency is not required for compilation, but is for execution
  • Test - dependency available for the test compilation and execution phase only
  • System - you have to provide the JAR which contains it explicitly
  • Import - dependency to be replaced with the effective list of dependencies in the specified POM’s section

The article also pays specific attention to subtle difference between production scopes and test scope and why it could be a problem. In the article you can find plenty of configuration files and configuration comparison for both tools. Interesting!

[Read More]

Avoiding the wrong MVP approach

Categories

Tags ux web-development management miscellaneous

An interesting article by Jared M. Spool about Minimal Viable Product (MVP) and how it is not about coding every time.

“We could make our customers happier and save the company a ton of money, all at the same time.” That was the pitch behind the innovation team’s new idea …

For many organizations, they’ve come to use MVP to mean a less functional, limited implementation application. Build it quick, get it into the hands of customers, and see how they like it.

This isn’t how MVPs are supposed to work. Eric Ries, who coined the term in his book, The Lean Startup defined an MVP as something that “allows a team to collect the maximum amount of validated learning about customers with the least effort.”

MVPs often don’t need code, but teams forget this. Our organizations are so used to solving every problem with software that we forget that we can learn what we need by faster, more effective means.

The teams that use MVPs most effectively focus on what you need to learn first. Then they ask how they can best learn it. Often, you can avoid writing any code altogether.

Learn more how the team designed MVP without coding in this real life example for insurance company.

[Read More]

Building a PWA chat app with Vue.js and Firebase (p1)

Categories

Tags javascript nodejs app-development

Kohwo Orien article about how to utilize Vue.js for building of Progressive Web Apps. Vue.js is a progressive framework for building web user interfaces. It became one of the recommended frameworks for building fast, reliable progressive web applications with offline capabilities and performance.

The article provides the way for:

  • Creating a template PWA
  • Firebase and Database configuration
  • Authentication using Firebase
  • Creating Views and Routing for Vuechat App

Firebase is tool that enables developers to make cloud-enabled apps quickly and easily. Firebase is cloud hosted and provides a realtime database as a service.

You will get link to youtube video and GitHub repository so you can follow the tutorial closely. Great read, if you need to build mobile friendly application.

[Read More]