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 ]

Getting started with static site generator Vuepress

Categories

Tags web-development programming containers

An article by Egwuenu Gift about static site generator tooling in Vue. Vue creator Evan You came up with this awesome tool for writing documentation for Vue. A VuePress site is, in fact, an Single Page Application powered by Vue, Vue Router, and webpack.

VuePress uses markdown. Each markdown file is compiled into HTML with markdown-it and then processed as the template of a Vue component. This allows you to directly use Vue inside your markdown files and is great when you need to embed dynamic content.

Some features:

  • Built-in Markdown extension
  • Default Theme
  • Automatic Service Worker
  • Google Analytics Integration
  • Multi-language Support

Article also deals with installation, setup and example code. Information how to host for free with Netlify is also included. Great read.

[Read More]

How to organize your thoughts on whiteboard and crush your technical interview

Categories

Tags programming agile career teams

Doug Arcuri piece on organizational skills and the applied science of gluing lots of things together in the craft of software engineering. Author empathizes with those who experience technical interviews that are not classically trained.

At large and small technical companies, there are whiteboard technical interviews. You are asked a question and are invited to solve the problem.

Make sure to write down the problem in a complete sentence up top. This will get you feeling the marker and will help you overcome the initial hit of the rush of “How do I solve this?”

Author then suggest how you can compose yourself and organize temporary space on whiteboard in few steps:

  • Step 1: The problem, a complete sentence up top
  • Step 2: Assumptions
  • Step 3: The approach with rough pseudocode, steps, and visualizations
  • Step 4: Code implementation
  • Step 5: Test (bonus)

Remember, there is pride in improving on top of code by way of organization and structure. Good read, with images of whiteboards in various stages.

[Read More]

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]