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 ]

Build your first data warehouse with Airflow on GCP


Tags google cloud gcp big-data cio data-science

What are the steps in building a data warehouse? What cloud technology should you use? How to use Airflow to orchestrate your pipeline? By Tuan Nguyen.

In this project, we will build a data warehouse on Google Cloud Platform that will help answer common business questions as well as powering dashboards. You will experience first hand how to build a DAG to achieve a common data engineering task: extract data from sources, load to a data sink, transform and model the data for business consumption.

The article is split into:

  • Why Google Cloud Platform?
    • Cost
    • Ease of use
  • Business objective
  • The dataset
  • Data modeling
  • Architecture
  • Set up the infrastructure
  • Data pipeline

… and much more. Author will walk through the many steps of designing and deploying a data warehouse in GCP using Airflow as an orchestrator. You will also get source code which you can reference in GitHub repo.Excellent for anybody in data science!

[Read More]

How does public key encryption work? | Public key cryptography and SSL


Tags infosec web-development cloud devops

Public key encryption, also known as asymmetric encryption, uses two separate keys instead of one shared one: a public key and a private key. Public key encryption is an important technology for Internet security. By cloudflare.com.

Public key encryption, or public key cryptography, is a method of encrypting data with two different keys and making one of the keys, the public key, available for anyone to use. The other key is known as the private key. Data encrypted with the public key can only be decrypted with the private key, and data encrypted with the private key can only be decrypted with the public key. Public key encryption is also known as asymmetric encryption. It is widely used, especially for TLS/SSL, which makes HTTPS possible.

Public key encryption is extremely useful for establishing secure communications over the Internet (via HTTPS). A website’s SSL/TLS certificate, which is shared publicly, contains the public key, and the private key is installed on the origin server – it’s “owned” by the website.

Public key encryption

Source: @cloudflare https://www.cloudflare.com/learning/ssl/how-does-public-key-encryption-work/ Instead of one key, two keys go with this lock: Key No. 1 can only turn to the left; Key No. 2 can only turn to the right.

Public key cryptography can seem complex for the uninitiated; fortunately a writer named Panayotis Vryonis came up with an analogy that works on example of a trunk with a lock that two people, Bob and Alice, use to ship documents back and forth. To learn moore, read this interesting article in full. Great read!

[Read More]

Conversational AI updates that help you build sophisticated and personalized experiences


Tags big-data robotics iot azure machine-learning

Now, more than ever, developers need to respond to the rapidly increasing demand from customers for support and accurate information - meeting them where they are – any time of the day and on an expanding range of platforms and devices. Azure AI has met unprecedented demand, underpinning over 1500 Covid-19 related bots via the Microsoft Health Bot service alone, in addition to the over 1.25 billion messages per month already handled by Azure Bot Service. By GaryPrettyMsft.

Bot Framework Composer is a new open source, visual authoring canvas for developers to design and build conversational experiences. Composer focuses the bot creation process more on conversation design and less on the scaffolding required to begin building awesome bots. Composer easily brings together the common components required to build bots such as the ability to define Language Understanding models, integrate with QnA Maker and build sophisticated composition of bot replies using Language Generation.

Composer also supports building Bot Framework Skills (bots that can perform a set of tasks for another bot allowing for re-usability and componentising bot solutions as their complexity and surface area increases. Skills built with Composer can be consumed by other bots built with Composer or using the Bot Framework SDK, as well as from Power Virtual Agents.

Azure Cognitive Services brings AI within reach of every developer—without requiring machine-learning expertise. At Build 2020, we made several announcements related to new features and improvements across the Cognitive Services used within the Conversational AI eco-system. Nice one!

[Read More]

Scaling up with Elixir


Tags elixir programming functional-programming erlang

It’s exciting when your website or platform gets a spike in traffic – that is, unless it fails. A disappointing web experience can quickly encourage new users to look elsewhere for an alternative that is faster and more responsive to their needs. By Nathan Long.

One important factor is how your code handles concurrency – that is, its ability to juggle multiple tasks at once (read more about concurrency here). And as many companies have shown, for concurrent programming, you can’t beat the Erlang virtual machine.

For example, you may have heard that 90% of all internet traffic goes through Erlang-controlled nodes, with Cisco alone shipping 2 million devices a year that use Erlang. Or that WhatsApp scaled to serve 900 million users with an Erlang service written by just 50 engineers.

The article deals with:

  • Concurrency-Oriented Programming
  • Non-blocking IO
  • Non-blocking computation
  • Error isolation: if an error occurs in one process, it can fail or be restarted without other processes being affected at all
  • Superpowers applied
  • Simpler stacks

Phoenix (web framework) has a tiny memory footprint and can happily run on a Raspberry Pi Zero as the interface of a Nerves project. To be clear, Elixir is no silver bullet. Writing scalable software always requires thought and care. You will also get plenty of links to further reading. Good read!

[Read More]

The nature of machine learning projects


Tags machine-learning big-data data-science

Michael Ohlsson article about building a data-driven product. Building a data-driven product differs in many ways from how one would create a more conventional software product. A machine learning system is still a software system, but the process to develop the system is different.

These differences are very important to understand for all the stakeholders and it is key to have a common view on this for a project to be successful. With this post author will briefly try to explain the machine learning process and why it calls for a different approach and mindset. In order to adopt this mindset, the most important thing to understand is that developing a machine learning system is much like a scientific process instead of a traditional software development process. However, the whole solution still requires a lot of software engineering practices.

In traditional programming, you write down all the rules that the program needs to have for it to perform and accomplish a specific task and produce the desired result. The program takes some data as input and this data is then processed as stated by the rules, and will hopefully, in the end, return the correct result. On the contrary, a machine learning system is instead trained rather than being programmed explicitly. The input to such a system is not just the data but also the expected result for that data and the output will then be a set of rules (this is also called a model in machine learning vocabulary).

Machine learning is not like any other technology and to boil down all this to its core components we could consider a few important rules:

  • Create a common ground of understanding, this will ensure the right mindset
  • State early how progress should be measured
  • Communicate clearly how different machine learning concepts works
  • Acknowledge and consider the inherited uncertainty, it is part of the process

You will also get resources to further reading. Great read!

[Read More]

Getting started with the Ansible collection for NGINX controller


Tags nginx ansible programming devops

Recently, NGINX announced the release of the Ansible collection for NGINX Controller. The collection contains a set of Ansible Roles that make it easy to incorporate NGINX Controller into your workflows. You can automate routine tasks such as generating ephemeral API tokens, managing certificate lifecycles, and configuring Controller objects (Gateways, Applications, and Components). By Brian Ehlert.

The article then describes some of the roles in the collection support day-to-day activities such as:

  • Creating NGINX Plus instances (nginx)
  • Registering NGINX Plus instances with NGINX Controller, by installing the NGINX Controller agent on the NGINX Plus host (nginx_controller_agent)
  • Deploying and configuring NGINX Plus instances as gateways for routing and protecting incoming traffic (nginx_controller_gateway)
  • Managing application workspaces (nginx_controller_application)
  • Configuring components to intelligently and securely distribute traffic to your backend workloads (nginx_controller_component)
  • Managing certificates that are distributed by NGINX Controller to the NGINX Plus instances where they are needed (nginx_controller_certificate)
  • Retrieving an ephemeral API token for the NGINX Controller API (nginx_controller_generate_token)

You will also get video tutorial which explains how to get started with the collection. Good read!

[Read More]

The crypto price-innovation cycle


Tags crypto blockchain fintech software analytics

People who’ve been in crypto for a long time view the space as evolving in cycles, alternating between periods of high activity and “crypto winters.” There have been three cycles so far. The first peaked in 2011, the second in 2013, and the third in 2017. By Chris Dixon and Eddy Lazzarin on Andreessen Horowitz.

Crypto innovation cycle

Source: https://a16z.com/2020/05/15/the-crypto-price-innovation-cycle/

These cycles appear chaotic but have an underlying order, roughly characterized as:

  • The price of Bitcoin and other crypto assets goes up
  • Leading to new interest and social media activity
  • Leading to more people getting involved, contributing new ideas and code
  • Leading to projects and startups getting created
  • Leading to product launches that inspire more people, eventually culminating in the next cycle

The first crypto cycle peaked in 2011. Before this, even enthusiasts thought of Bitcoin as an interesting experiment that was unlikely to have practical value. Afterwards, entrepreneurs realized you could create businesses in crypto. This was when many of today’s largest exchanges, miners, and wallets were founded. Follow the link to the full article to learn more about history of cryptocurrencies. Excellent!

[Read More]

C# Delegates with IoC containers and Dependency Injection


Tags programming code-refactoring software software-architecture

Developers are usually encouraged to do dependency injection with interfaces. Some developers don’t know that they can do dependency injection with delegates, and there are good reasons to do this. By Christian Findlay.

Moreover, developers can use delegates with modern IoC containers like ASP.NET Core’s IoC container, mock delegates, and verify calls. It is good practice and should be encouraged. Let’s have a look at why.

Firstly, let’s focus on the interface segregation principle. It’s one of the SOLID principles. It essentially means that you should minimize the number of members on an interface. It sometimes leads to an interesting situation where interfaces end up with only one method.

The article then dives into:

  • Why use Delegates instead of Interfaces?
  • Dependency Injection with Delegates
  • Mocking Delegates with Moq
  • Delegates with IoC Containers
  • What if the delegate code needs extra dependencies?
  • Drawbacks Of Delegates

At their heart, IoC containers are collections keyed by type. We normally key the collection by interface types, but delegates are also types, and we can key the collection with delegates instead of interfaces.

All source code for this article can be found in GitHub repository. But, be careful of scenarios with generic types. You shouldn’t alter the fundamental design of your code to fit delegates. Rather delegates should be a compliment to your existing code design. Nice one!

[Read More]

MVVM Architecture -- Android tutorial for beginners, step by step guide


Tags android app-development software-architecture java

Amit Shekhar put together this interesting tutorial in which you are going to learn about the MVVM architecture in Android and then you will build a project with MVVM architecture. MVVM architecture is a Model-View-ViewModel architecture that removes the tight coupling between each component.

MVVM architecture

Source: https://blog.mindorks.com

The tutorial covers the following topics:

  • What is MVVM architecture?
  • Set up a new project with Kotlin and other dependencies required.
  • Project Structure.
  • Set up the utils package.
  • Set up the data layer.
  • Set up UI layer, build and run the project.
  • Project Source Code and What Next?

Importantly, in MVVM architecture, the children don’t have the direct reference to the parent, they only have the reference by observables. The author will walk you through explanation based on a new project written in Kotlin. You will also get project code in GitHub repository so you can follow tutorial. Good read!

[Read More]

WEF will now read you your (blockchain) rights


Tags blockchain fintech crypto

The World Economic Forum finalized a “blockchain bill of rights.” ConsenSys, Andreessen Horowitz, and Colombia have already signed on. By Jeff Benson. The World Economic Forum is an international organization committed to creating public-private partnerships. Its Global Blockchain Council has been developing this voluntary framework since it first convened in 2019.

“This highly opinionated group came together and agreed that the blockchain community needed the foundational principles we are presenting today,” said Sheila Warren, WEF’s head of blockchain and data policy. “Agreement from across Council members, despite their divergent perspectives, indicates the critical need for a values-based document like this in order to ensure that the technology remains true to its roots as the application layer starts to scale.”

The article describes following:

  • The WEF’s Global Blockchain Council developed a voluntary framework for protecting blockchain users
  • Fifteen institutional signatories have signed the Presidio Principles, including governments, international aid groups, and blockchain-based businesses
  • The next step is to create guidelines for translating the principles into action

The group placed a draft version on GitHub for public comment from April 10 through May 5 before releasing the finalized document on May 22, 2020. The next step is to issue guidelines for different industries on how to incorporate the principles. Good news!

[Read More]