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 ]

AI & blockchain, an introduction

Categories

Tags fintech blockchain how-to learning miscellaneous

Matt Turck produced this post about Artificial Intelligence (AI) and exploring the intersection of artificial intelligence and blockchain. His goal was to provide a broad introduction to the topic and feed the discussion why the topic matters in the first place, and highlight the work of some interesting companies in the space.

Blockchain emerged as a powerful response to political and organizational problems, rather than purely technical ones.

In the post he is coming at this topic from the perspective of a VC investor. He notes that each trend (AI and blockchain) individually could very well end up disappointing, and explorations at the intersection of both could prove fruitless.

He points out that AI and blockchain are philosophically opposed in many ways:

Crypto AI
Decentralized Centralized
Open Closed (mostly)
Transparent Black Box
Deterministic Probabilistic

For example, AI is very much centralized - within a handful of companies, primarily Google, Apple, Facebook and Amazon (“GAFA”) and the large Chinese Internet companies, Alibaba, Tencent and Baidu. These companies have been able to attract top AI talent around the world.

He then explains many aspects related to these topics, including: data, models and computing power.

You will find much more in this interesting article with links to further resources and reading. Well done!

[Read More]

Solr from the field -- Lessons learned while maintaining over 30 billion documents

Categories

Tags apache search web-development

An article published by Alex Puschinsky about WalkMe Insights experience with SOLR and processing of vast amount of data. They provide real-time search and analytics capabilities. To achieve this, they have chosen Apache Solr as the core of our WalkMe Insights search functionality.

Before throwing hardware at your performance issue, try to figure out the root cause of your problem. There is a good chance you’ll find that your issue arises from incorrect Solr usage rather than insufficient hardware.

The data we collect is largely comprised of end-user interactions with websites, i.e., mouse clicks, URL transitions, text inputs, and even WalkMe customer-defined custom events. Currently, we hold around 30 billion such events, a number that is growing rapidly and is expected to accelerate given WalkMe’s exponential growth.

The article will walk you through:

  • The infrastructure – large Solr index requires a sharding solution
  • Capacity planning
  • Hardware recommendations
  • Understanding of Solr query execution
  • Wildcard queries can be evil
  • Facet performance

… and much more. If you need high performance real time search capabilities this is excellent resource and starting point for you!

[Read More]

Optimizing docker images for a faster development workflow

Categories

Tags docker kubernetes microservices

jobandtalent Engineering published an interesting article on Docker images optimization. Architecture being based on docker means that every change that improves the usage of a resource (time to execute, memory usage, disk space usage, network usage…) in any stage of the process, will have an impact in each one of the environments.

Optimizations points to focus on:

  • Base images (basic software, minimal size)
  • Dependencies and context (be strict)
  • Dockerignore file
  • Mind the step, cache layering
  • Keep the layers small
  • Build several images

Detailed information for each step mentioned above provided. Plus links to further resources.

Authors also demonstrate optimization on real project. In this case they’ve chosen an open source, self hosted and mobile optimized CI, powered by fastlane. Nice one!

[Read More]

What you need to consider before building a fintech product

Categories

Tags fintech how-to miscellaneous software startups

Blog post by Artur Bachynskyi with some advice on topic of fintech products. Financial technology aka fintech is a popular start-up sector for entrepreneurs, as more and more people are striving for financial literacy. The shift to treating one’s finances more intelligently has led the creators to apply the principles of human-centered design (HCD) when developing fintech products.

Author will tell you about the pitfalls that await almost anyone who has decided to build a fintech product.

Example of points mentioned in the post:

  • Consider the target country
  • Find a team with experience in developing the fintech products
  • Choose the technology considering the future of your fintech product
  • Consider possible integration with third parties
  • It is not only for the end-customers
  • Have a product owner & communicate (a lot)

All of them valid. For example, eight countries in the world have launched a regulatory sandbox in their financial markets.

This means that they have created a special framework set up by financial center regulation to provide testing of innovation technologies under the regulation’s supervision. Good read!

[Read More]

Creating a load-balanced web service on cloud with Ansible

Categories

Tags ansible programming devops

Alex Callejas from RedHat wrote quick tutorial about Ansible as a tool for creating of load-balanced web service on cloud. Through a practical example, author will show how to automate creation of one of the most basic web services, with three instances of Apache as a backend and a load balancer as frontend.

The infrastructure is deployed on Google Cloud Platform and the link to the Guide is provided. The creation of ssh keys is also explains.

The article is divided in three sections:

  • Prerequisites
  • The role (bare metal or virtual machines)
  • The playbooks

Article will help you to create (or re-use) playbooks to manage a task that would normally take an admin an hour or more if done manually.

You will create:

  • The firewall rule to allow http traffic to our instances, and
  • Load balancing instance
  • 3 instances based on Red Hat Enterprise Linux 7

Code is provided together with video describing each step. Excellent article and tutorial, especially for admins new to DevOps, automation and orchestration.

[Read More]

Code review best practices

Categories

Tags programming code-refactoring cicd learning

Palantir Technologies article about insights and best practices for code reviews. Organizations with deep cultural reluctance to peer reviews may want to consult Karl E. Wiegers’ excellent essay on Humanizing Peer Reviews before trying to follow this guide.

We perform code reviews (CRs) in order to improve code quality and benefit from positive effects on team and company culture.

Authors cover the following topics:

  • Why, what, and when to do code reviews
  • Preparing code for review
  • Performing code reviews
  • Code review examples

Authors claim that committers are motivated by the notion of a set of reviewers. They tend to clean up loose ends, consolidate TODOs, and generally improve the commit.

Sharing knowledge helps development teams in several ways, including added/altered/removed functionality communication, using the technique or algorithm that reviewers can learn from, can help raise the quality bar across the organization, or strengthens social bonds between team member.

There is no eternally true answer to this question and each development team should agree on its own approach. Some teams prefer to review every change merged into the main branch, while others will have a “triviality” threshold under which a review is not required.

Examples and further reading provided. Interesting read, recommended!

[Read More]

How to do Object Oriented Programming the right way

Categories

Tags oop programming javascript

Article by software engineer Xiaoyun Yang about Object Oriented programming done right. Object Oriented Programming (OOP) is a software design pattern that allows you to think about problems in terms of objects and their interactions. OOP is typically done with classes or with prototypes.

Author focuses on two approaches:

  • Class-based inheritance (typical for Java, Python, Ruby…)
  • Prototypal inheritance (JavaScript)

She shows you how to use both approaches for OOP in JavaScript, discuss the advantages and disadvantages of the two approaches of OOP and introduce an alternative for OOP for designing more modular and scalable applications.

In classical (class based) OOP, classes are blueprints for objects. Objects are created or instantiated from classes.

Prototypal inheritance does not use classes at all. Instead, objects are created from other objects.

Code examples and pop quiz (with answers) provided. Good read for any fun of Object Oriented Programming!

[Read More]

8 best practices for perfect CSS documentation

Categories

Tags css frontend web-development miscellaneous

Adriana De La Cuadra article about best practices for CSS documentation. In the world of CSS, documentation is underused. Since documentation is not visible to the end user, its value is often overlooked by clients.

Yet documenting CSS can offer a lot to your project: from encouraging better code practices to easing the onboarding of new team members. Sometimes it can be difficult to determine what to document and how to do it most effectively.

Author’s advice revolves around:

  • Settting the ground rules
  • Explaining the structure of your code base
  • Establishing your coding standards
  • Avoiding long stylesheets

… and for the rest click on the link below. The author note, that with these best practices in mind, the next step is to incorporate a living style guide as part of your documentation.

In a living style guide, you can include interactive demonstrations of your code and you can further organize your documentation independently from the code structure. Interesting read!

[Read More]

Setting up a reverse-proxy with NGINX and docker-compose

Categories

Tags nginx how-to performance web-development performance

Dominik Weber tutorial how to set up reverse-proxy with NGINX, which can then handle server-related aspects, like SSL and caching, completely transparent to the application behind it. It is good practice in general to not make internal services public-facing that don’t have to be.

Article is divided into few sections:

  • Docker-compose configuration
  • Images used for docker-compose
  • Networks with Docker
  • Docker volumes
  • NGINX configuration with LetsEncrypt certificates

docker-compose is a neat little tool that lets you define a range of docker containers that should be started at the same time, and the configuration they should be started with.

In the article author briefly explains how to configure the docker-compose features used in examples. He uses official NGINX image with the second image he created himself called “ismydependencysaf”. It exposes port 80, too. The difference to the ports configuration is that they are not published to the host machine.

This article is especially useful for people new to Docker, docker-compose and containers. With further resources and links to articles aimed at NGINX security. Well worth your time!

[Read More]

Enterprise integration for Ethereum

Categories

Tags blockchain cio crypto distributed fintech

Bilgin Ibryam article about Ethereum usage in enterprise. Ethereum is distributed and decentralized, but it is mostly a closed system with the embedded ledger, the currency, and the executing nodes. The most popular open source Java integration library – Apache Camel supports Ethereum’s JSON-RPC API now.

In order to be useful for the enterprise, Ethereum has to be well integrated with existing legacy and new systems.

Ethereum is an open source, public, blockchain platform for running smart contracts. Today, Ethereum is one of the most established and mature blockchain platforms with interests from small and large companies, non-profit organizations and governments.

You will further find in the article:

  • The Ethereum ecosystem
  • Open source enterprise integration
  • Apache Camel connector for Ethereum
  • Use cases for Apache Camel
  • An Ethereum Oracle (smart contract) implemented in Apache Camel

Example code in Java included. Excellent read!

[Read More]