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 ]

Neural networks, manifolds, and topology

Categories

Tags big-data machine-learning

Christopher Olah older article about excitement and interest in deep neural networks because they’ve achieved breakthrough results in areas such as computer vision.

However, there remain a number of concerns about them. One is that it can be quite challenging to understand what a neural network is really doing. It is much easier to explore low-dimensional deep neural networks – networks that only have a few neurons in each layer.

Author then provides more information on:

  • Simple neural network example
  • Continuous visualization of layers
  • Topology of tanh layers
  • Topology and Classification
  • The Manifold Hypothesis

Excellent article with still relevant information for anybody interested in neural networks.

[Read More]

Getting started with Rust on the command line

Categories

Tags programming

Florian Gilcher intro into Rust (rustlang) on the command line. It is for people with no previous knowledge in Rust. It also assumes some knowledge about programming, but none about Rust.

Author would like to present why Rust is a feasible option, by writing a small, but useful command line tool. Author will show you how to write a small program that fetches the JSON feed, parses in and outputs it on the console in a formatted fashion.

The article further covers:

  • How to install Rust with rustup
  • How to set up project with cargo – build manager for Rust
  • How to plan your project
  • How to include dependencies in your code, e.g. CLAP – command line argument parser
  • How to use crate with external libraries

Whole code and further explanation present in the article. If you are beginner in Rust this is well worth your time!

[Read More]

4 lessons for modern software developers from 1970s mainframe programming

Categories

Tags programming agile software-architecture

Alan Zeichick inspiring article about how current programmers should adopt several attitudes that early mainframe developers considered an essential part of their skill sets.

Eight megabytes of memory is plenty. Or so we believed back in the late 1970s. Our mainframe programs usually ran in 8 MB virtual machines (VMs) that had to contain the program, shared libraries, and working storage.

Revisit four lessons I learned while programming mainframes:

  • Minimize the cost of computation – especially for cloud computing
  • For data processing, think headless
  • Design and program for zero defects
  • It’s not about refactoring: optimize up front

Learn in detail, what author meant, by following the link below.

[Read More]

Introducing Twirp RPC framework for Golang

Categories

Tags apis web-development infosec

Spencer Nelson published article in which he introduced an RPC framework they use for communication between backend servers written in Golang. It’s called Twirp, and it’s available now under an Apache 2 open source license.

He claimed that Twirp was tremendously success at Twitch due to its advantages over “REST” APIs or gRPC, its two closest competitors.

Twirp is a structured RPC framework, but with an emphasis on simplicity. It works on HTTP 1.1, chooses stability and modularity over an expansive feature set, and then gets out of the way.

Structured RPCs are much easier to design and maintain than URL-oriented REST APIs, as they let you focus on business logic instead of routing schemes.

Learn more, including what is so great about Twirp, why it is better than gRCP, how easy it is start – in this excellent article with code examples. It works even on command line.

[Read More]

Practical guide for UX and Agile website development

Categories

Tags ux web-development

Jon-Mikel Bailey wrote this guide to UX and Agile website development. Many experts argue for a more agile approach with sprints based on user feedback and statistical website data. And author agrees that they’re not necessarily wrong.

User experience (UX) focuses on having a deep understanding of users, what they need, what they value, their abilities, and also their limitations

He shortly explains difference between Waterfall development and Agile development. Agile – also known as rapid development, relies heavily on stakeholder availability. But in fact, very few organizations have the budget or the type of project where Agile makes sense.

He then present arguments how to decide if UX Agile is right for you based on Website success of your organization, needs fo your users, what your users value etc.

[Read More]

The art of the error message

Categories

Tags programming web-development

Marina Posniak article about writing clear, helpful copy for when things go wrong. Article about an everyday type of failure that doesn’t get much attention in the product development process.

Each error message is a tiny roadblock that gets in the way of what we were trying to do.

Some tips for writing helpful error messages mentioned in the article:

  • Say what happened and why
  • Suggest a next step
  • Find the right tone

When it comes to a good or bad user experience, the difference is often in the details. Writing clear error messages can reduce frustration and help people continue using your app or service. So it’s worth it to give these little guys some love. Well worth your time.

[Read More]

Testing microservices, Spotify experience

Categories

Tags microservices tdd software-architecture

André Schaffer from Spotify Labs published article about Spotify’s journey to microservices testing. In a microservices world achieving confidence that the code does what it should, provide feedback that is fast and with easy maintenance became an art.

For a long time testing pyramid was an extremely efficient way to organize tests. In a microservices world, this is no longer the case, and we would argue that it can be actively harmful.

The biggest complexity in a microservice is not within the service itself, but in how it interacts with others, and that deserves special attention.

Author suggests that a more fitting way of structuring our tests for microservices would be the testing honeycomb. And what we should aim for instead is integration tests, which verify the correctness of our service in a more isolated fashion while focusing on the interaction points and making them very explicit. Interesting read!

[Read More]

Lambda architecture at Indix p1

Categories

Tags programming web-development cio

Rajesh Muppalla article about how they at Indix went about implementing stateless lambda architecture for building the big data pipeline. They have built a catalog of several million products and billions of price points collected from thousands of e-commerce websites.

They use HBase, an open source implementation of Google BigTable to implement their storage layer. Here are some challenges they encountered before they switched to lambdas:

  • Operational issues
  • Data corruption
  • Data loss
  • Wrong Choice of MapReduce abstractions

The new architecture can be decomposed into three layers – batch, serving and speed. Lambda architecture is technology and domain agnostic. Some principles lambda architecture imposes:

  • Immutability and human fault tolerance
  • Complexity isolation
  • Enforceable schemes

Good read with supporting charts in the article.

[Read More]

Brutal lifecycle of JavaScript UI frameworks

Categories

Tags javascript nodejs programming

Ian Allen – a developer on the Internal Tools team at Stack Overflow – wrote this piece on JavaScript UI frameworks and libraries and how work in cycles. Every six months or so, a new one pops up, claiming that it has revolutionized UI development. This articles draws some interesting conclusions. You may or may not agree with it.

But let’s be honest, the size of a developer community certainly counts; it contributes to a thriving open source environment, and makes it easier to find help on Stack Overflow. Good read.

Using the Stack Overflow Trends tool and some of their internal traffic data, author decided to take a look at some of the more prominent UI frameworks:

  • Angular
  • React
  • Vue.js
  • Backbone
  • Knockout and Ember

Plenty of charts and supporting information are present in the article. One of the conclusions? Choice of programming technologies differ greatly by geography. The choice of JavaScript framework also varies by industry.

[Read More]

Sizing up revenue in application container market

Categories

Tags containers docker analytics cio

Jay Lyman and Greg Zwakman are authors of this interesting study in which they projected and estimated container software market. This is update from previous year in which over 150+ of vendors took a part.

They projected and estimated the value of different segments:

  • Container management and orchestration
  • Monitoring and logging
  • DevOps and CI/CD
  • Data management and services
  • Security, storage and networking

They now estimated total application container market revenue at just more than $1.1bn for 2017, growing at a CAGR of 35% to $1.6bn in 2018, $2.1bn in 2019, $2.8bn in 2020 and nearly $3.5bn by 2021… Read whole article to learn how different segments are doing.

[Read More]