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 ]

A primer on deep learning

Categories

Tags big-data data-science

Post written by Jeremy Fain – the CEO and co-founder of Cognitiv, the first neural network technology. In it he addresses what deep learning, machine learning and artificial intelligence is.

Machine learning basically involves giving data to an algorithm and then “training” it to perform a certain task, such as giving out movie recommendations based on a user’s past watching history.

Deep learning takes machine learning to the next level through the use of artificial neural networks. These networks are essentially layers of artificial “neurons” in a rough approximation of the way that human brains work.

Neural networks are explicitly engineered to be able to recognize complex patterns. AlphaGo Zero “managed to rediscover over 3,000 years of human knowledge around Go game in 72 hours”.

To learn more jump to the forbes.com article below. And remmeber – the term “artificial intelligence” (AI) has been around since the 1950s. Are we getting over the threshold now?

[Read More]

Ports and Adapters Architecture

Categories

Tags software-architecture devops

Herberto Graca wrote another piece for a series of posts about Software Architecture. The Ports & Adapters Architecture (aka Hexagonal Architecture) was thought of by Alistair Cockburn and written down on his blog in 2005.

The application should have no knowledge of who/what is sending input or receiving its output.

Article then covers:

  • Evolving from the Layered Architecture
  • What is a Port?
  • What is a Port?
  • What are the benefits?
  • Delivery mechanisms isolation

The way author sees it, Ports & Adapters Architecture has only one goal: isolate the business logic from the delivery mechanisms and tools used by the system.

Interesting read with charts and links to further reading. Also please read all articles in the The Software Architecture Chronicle.

[Read More]

Agents and tasks in Elixir

Categories

Tags software-architecture functional-programming programming

Vitaly Tatarintsev wrote article about messaging in Elixirlang. Elixir provides nice wrappers around processes such as Agents and Tasks. Agents allow us to keep a state and Tasks help us to run processes in parallel.

Agents are background processes which help us to maintain a state. The usage of an agent is pretty straightforward. We have the ability to spawn an agent with an initial value, update its state and read the state.

Tasks are processes which run in a background. With the Elixir tasks, we can run all these jobs in parallel and then collect the result (if we need it).

Article also sports code examples. Also look at the older article of the same author: the StatefulRobot example with more Elixir goodies.

Author encourages you to read the documentation about Agents and Tasks. You can find more useful functions there which can help you to solve different problems.

[Read More]

Introduction to WebAssembly - why should we care?

Categories

Tags programming javascript nodejs

Gabriele Tomassetti article about WebAssembly, or wasm, which is a low-level bytecode format for in-browser client-side scripting. In practical terms, WebAssembly is implemented by browsers’ developers on the back of the existing JavaScript engine.

The kind of binary format being considered for WebAssembly can be natively decoded much faster than JavaScript can be parsed (experiments show more than 20× faster).

In the greater scheme of things, the arrival of WebAssembly means that you will not be forced anymore to use JavaScript for the web, because it is the only thing that run in the browser.

A founding principle of WebAssembly is to integrate well with the existing JavaScript world.

Author further covers:

  • How WebAssembly works
  • WebAssembly tools
  • Using WebAssembly
  • Interoperability between C and JavaScript

Its development is backed by people at Mozilla, Microsoft, Google and Apple. Example code and links to further resources also provided. Good read!

[Read More]

What is WebAssembly?

Categories

Tags programming javascript nodejs

Eric Elliott article about WebAssembly. WebAssembly gives us access to a set of low level building blocks that we can use to construct just about anything you can imagine.

The web platform is getting a new low-level binary compile format that will do a better job at being a compiler target than JavaScript.

WebAssembly defines an Abstract Syntax Tree (AST) that gets stored in a binary format. Binary is great because it means we can create smaller app bundles.

WebAssembly is:

  • An improvement to JavaScript
  • A new language: WebAssembly code defines an AST (Abstract Syntax Tree)
  • A browser improvement: Browsers will understand the binary format,
  • A compile target

WebAssembly brings language diversity to the web platform. Interesting read, well worth your time.

[Read More]

8 components you need to run containers in production

Categories

Tags cloud software-architecture containers

Khash Sajadi published article about components for containers in production. If you’ve been observing containers for long-enough (and that’s about two years or so in this industry) you will also notice the “product churn”.

Many IT professionals are still trying to understand what these new technologies are and how they can be useful to their businesses or careers.

Some of the components analysed in this article:

  • The container engine
  • The orchestration engine
  • The container networking
  • The persistence storage
  • The monitoring system and logging

and more. There are relatively clear winners in most the categories of components that you need to consider for running in containers. Good read.

[Read More]

Onboard people, not technology

Categories

Tags agile teams programming

Marcus Blankenship article in which he focuses on onboarding process in software companies. He rightly points out that setting up a productive dev environment isn’t onboarding.

Today, my clients tell me things like,“we use Docker, so it takes less than an hour to onboard a new developer.”

We might fall into the trap of believing that we have done our part to make them successful, and the rest is up to them. That all they need is a computer, chair, a dev environment, and a project to work on.

He then goes on and dives in:

  • A leadership smell
  • Onboarding is leading
  • How long should this take?

Good article which should get you thinking about your onboarding process and what could be improved.

[Read More]

KubeVirt - the first look

Categories

Tags cloud kubernetes containers

Karim Boumedhel wrote interesting article introducing Kubernetes virtualization API (KubeVirt) - an API and runtime add-on for Kubernetes in order to define and manage virtual machines.

The high-level goal of the project is to build a Kubernetes add-on to enable management of (libvirt) virtual machines. With KubeVirt, you will basically declare your virtual machines (called VMs from now on) like you declare pods.

Author then desribes basics of:

  • KubeVirt addon installation
  • How to check that KubeVirt is up
  • Quick review of the components
  • How to use KubeVirt
  • How to access virtual machines
  • How to migrate virtual machines

and more. If you need VMs, KubeVirt provides a nice way to make use of your k8s/OpenShift cluster to host them. This project is still young, and things like storage and networking need working, but development is going fast and the community is growing!

[Read More]

Managing AWS Lambda function concurrency

Categories

Tags serverless nodejs aws

Chris Munns long article diving straight to the point of AWS Lambda concurrency. In AWS Lambda, which is the core of the serverless platform at AWS, the unit of scale is a concurrent execution. This refers to the number of executions of your function code that are happening at any given time.

Each AWS Account has an overall AccountLimit value that is fixed at any point in time, but can be easily increased as needed. As of December 2017, the default limit is 1000 “slices” of concurrency per AWS Region.

Author then dives into testing concurrency for various scenarios. For generating load they use an open source tool called “hey”. He demonstrates how to protect a backend resource from being overloaded by activating concurrency reservation.

You can now set a concurrency limit on individual Lambda functions in an account. And the emergency kill switch can be activated by setting the concurrency reservation and limit of a Lambda function to zero.

Placing limits on how many concurrency “slices” that your function can consume can prevent a single function from consuming all of the available concurrency in an account. Interesting read!

[Read More]

Using F# with .NET Core

Categories

Tags functional-programming programming

Ody Mbegbu’s article about using F# together with .NET Core. In it he suggests that personality and design of .NET Core better suits F# development.

Author then tries to verify if it is possible:

  • Creating web applications
  • Creating and referencing class libraries
  • Data access (including database migration strategy)

As for Editors/IDEs, Currently VSCode is the editor with the most .NET Core support. Everything is cross-platform and free so bring your Macs and Linux Machines along. Full instructions can be followed in provided video tutorial. Find out how his his experience with .NET Core has been exciting.

[Read More]