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 ]

The Inconvenient Truths About Getting Work Done

Categories

Tags agile

Thomas Oppong founder of @alltopstartups shares his thoughts on productivity systems and truth about getting work done. What is the inconvenience then?

Many people who hear or read what productivity hacks and strategies won’t do anything with the information. However,author argues that even if you have the system:

  • There is no perfect system
  • Getting started is the biggest hurdle
  • You will never be able to do it all
  • Distraction is the enemy!
  • There is no perfect time!
  • … and … Sometimes the best thing to do is: nothing

We are currently exposed to an unprecedented flood of information and requests than ever before. Being selective, doing less, is the path of the productive. Good read. Also visit Postanly Weekly.

[Read More]

Blockchain explained

Categories

Tags crypto blockchain fintech

Zach Church interviewed Christian Catalini - an MIT expert - on why distributed ledgers and cryptocurrencies have the potential to affect every industry.

If you haven’t noticed, blockchain is one of big disruptor in fintech industry. In interview they explain:

  • What is a blockchain
  • How is blockchain related to bitcoin
  • Which industries could blockchain disrupt

They also look into time frame when disruption will happen and what impact it will have on markets. Short but informational article. New research, writing, and videos from Catalini and other MIT Sloan faculty members is also available at blockchain.mit.edu.

[Read More]

Asynchronous programming in Scala with Monix

Categories

Tags functional-programming

Lech Głowiak wrote a short blog post titles Why you should know Monix - a library for asynchronous programming in Scala and Scala.js. He tries in 10 minutes or less, to present what Monix library is and convince you that it is good to know it.

Monix contains several abstractions that are useful and sometimes can be found superior to vanilla Scala or Akka counterparts. Some useful abstraction mentioned and compared to vanilla Scala in post:

  • Task abstraction that can be seen as a replacement for Future
  • MVar inspired by Haskell’s MVar
  • Back-pressured streams

Full code example is available in GitHub repository. Dive in for more info!

[Read More]

linkerd: A service mesh for AWS ECS

Categories

Tags microservices kubernetes

Dario Simonetti - Head of Core Engineering at Attest wrote nice article about service mesh for AWS EC2 Container Service (AWS ECS). There is very little content online that explains how to set it up.

As opposed to Kubernetes, AWS ECS is simply a container scheduler and very little more. It doesn’t provide features such as service discovery and application configuration. For those, you’ll need an external tool or craft something yourself; e.g. Consul.

Article then explains linkerd various configuration you can deploy to AWS. linkerd is a transparent proxy that adds service discovery, routing, failure handling, and visibility to modern software applications. The article touches on advantages and disadvantages of each configuration. Code examples and detailed explanation of good and bad for each configuration are provided. When you deploy a new version of your ECS services, ECS will do a rolling deployment, ensuring no downtime.

Recommended reading!

[Read More]

The Software World Today: How We Got Here, and What Needs Fixing

Categories

Tags programming

Micha Hernandez van Leuffen short reading about how much has changes in last 15 years in software world and what needs to change going forward. About 15 years ago, back in the age of Y2K, the way we computed looked wildly different. Virtually all computing took place using on-premise hardware.

Author then considers changes since early 2000s:

  • Bare-metal workloads have been migrated to virtual server and then to Docker containers
  • Systems are now almost over-administered over the network
  • The cloud paradigm has been widely accepted
  • New automation tools and strategies to work with, CI servers
  • Massive cultural change has taken place within organizations

However, software development Nirvana remains elusive. Read to discover more.

[Read More]

Alternative Patterns for Method Overloading in Golang

Categories

Tags golang programming

Chris Tomich shares in this post 3 patterns, 2 of which can be used, to deal with Golang’s lack of method overloading – a functional way, an object oriented way, and a “JavaScript” way. Author realises that method overloading can be pretty badly abused but it’s perfect for default values.

The functional way example uses Golangs ability to return multiple values from a function and the ability to immediately accept those multiple values as an argument list for another function.

The object oriented way - is vastly more readable. And The JavaScript way example is also included, but author points out that it should be never really used in production.

Chris concludes that you will probably end up using a hybrid of the functional method and the object oriented methods. Example code for all above mentioned approaches in included.

[Read More]

Tuning Your DBMS Automatically with Machine Learning

Categories

Tags machine-learning data-science database

Dana Van Aken, Geoff Gordon, and Andy Pavlo from Carnegie Mellon University guest blog post on AWS demonstrates how academic researchers can leverage AWS Cloud Credits for Research Program to support their scientific breakthroughs.

Database management systems (DBMSs) are the most important component of any data-intensive application. They can handle large amounts of data and complex workloads. OtterTune, a new tool written in Python that’s being developed by students and researchers, can automatically find good settings for a DBMS’s configuration.

Article then goes on explaining:

  • How OtterTune works
  • The machine learning pipeline
  • Implementation
  • Evaluation with MySQL and Postgres

Also loads of charts supporting the explanation. Nice!

[Read More]

Buildah - build your containers from the ground up!

Categories

Tags containers docker microservices

Tom Sweeney from Project Atomic wrote an article about the Buildah tool for building Open Container Initiative (OCI) complaint container images. The tool requires golang. The buildah package provides a command line tool which can be used to (amongts other):

  • Create a working container, either from scratch or using an image as a starting point
  • Create an image, either from a working container or via the instructions in a Dockerfile
  • Images can be built in either the OCI image format or the traditional upstream docker image format
  • Mount a working container’s root filesystem for manipulation

Buildah simplifies the process of creating, building and updating images while decreasing the learning curve of the container environment. What’s really neat is there is no requirement for a container runtime daemon to be running on your system chewing up resources and complicating the build process.

As usually article sports command line examples for building and playing with container images.

[Read More]

How to Handle Exceptions in Python

Categories

Tags python programming oop

Monty Shokeen wrote neat article about handling exceptions in Python programming language. It is very common to encounter errors during the execution of a program. Two common kinds of errors that you may have to deal with are syntax errors and exceptions.

Exceptions occur during the execution of a program when something unexpected happens. For example, let’s say you are asking the user to input a number in order to perform a division.

In this tutorial, you will learn how to properly handle and raise exceptions in Python. Article describes many types of exceptions, including:

  • NameError
  • TypeError
  • ValueError
  • ZeroDivisionError
  • NotImplementedError
  • FileNotFoundError

Code examples, including ones with more complex multiple exceptions, are present. Good read.

[Read More]

Development of a REST API in Spring Boot Framework

Categories

Tags microservices frameworks restful apis

Dario Carrasque wrote post blog on topic of the evaluation of frameworks to develop REST APIs to satisfy requirements of modularity and availability.

Author describes process of framework selection including considering various languages, e.g.: Python, Scala, and Ruby. A backward compatibility with core Java applications was the most important requirement, though.

They considered 3 frameworks:

  • Spring Boot
  • Play
  • Lagom

Read, how and why they decided to go with Spring Boot and what were their criteria for selection process. Examples of the code including hint to swagger documentation in article.

[Read More]