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 a mobile phone authentication component with React and Firebase


Tags apis programming web-development security

Krissanawat Kaewsanmuang wrote this article in which he let you learn how to build a reusable phone authentication component with React and Firebase. This is 3rd part of series of article. In order to understand this tutorial properly, it is recommended to go through previous chapters of this tutorial series.

Here, we are going to implement the Phone authentication component with React and FirebaseWeb-UI and push the code to Bit’s cloud where it could be shared, discovered and used by others or even collaborated on. Bit helps your team share components and collaborate to build faster together.

You will learn:

  • How to use Bit
  • How to use Bit along with React
  • How to use React router DOM (Document Object Model)
  • How to use Firebase phone authentication
  • Create React component
  • Activate Firebase Phone Authentication
  • Setup react-router-dom
  • Get Form Value
  • Send SMS with Firebase
  • Verify OTP

… and more. Excellent and in depth guide. Well done!

[Read More]

Versioning Web API


Tags apis programming web-development open-source

More and more organizations today face a dynamic and changing environment. This article reads about versioning in general and versioning Web API using multiple versioning strategies in detail. By Blog of Pi.

Handling changes in software systems is not an easy task and it is more challenging particularly in loosely coupled distributed systems, such as APIs or Microservices.

The article is split into:

  • Challenges – Evolving API
  • Routing methods
  • Versioning Strategies
    • Query string
    • URL Path
    • Custom Request Header
    • Accept Header
  • Deprecating a Version
  • API Explorer Options

This article tried to provide a summary of the very diverse and difficult problem of evolving a Web API. It discussed about the challenges, solution, versioning strategies and an implementation example with ASP.NET Web API. The full implementation of this post can be found in Github. Well done!

[Read More]

How to bounce back from rejection


Tags miscellaneous learning management performance teams

When someone rejects you, it helps to remember that there’s another you. By Adam Grant.

In the publish-or-perish world of academia, having an article rejected can feel like a stab wound. We all get rejected at work, whether it’s having our suggestions shot down, being denied for a promotion or getting fired from a job. It hurts —- and it’s not just a metaphor.

Neuroscientists have scanned the brains of people who have cruelly been excluded from an online game or looked at a photo of their ex who dumped them. The physiological response looks fairly similar to processing physical pain.

Apparently, this was adaptive in our evolutionary past. If rejection didn’t sting, you might have been perfectly comfortable leaving your tribe, which would not bode well for your survival.

But it’s left us wired to overreact to everyday rejections. The good news is that we can learn to take rejection in stride. A good starting point is to remove, “It’s not you, it’s me” from your vocabulary.

The real reason to ban that phrase is because most of the time when we get rejected, it’s not you. It’s not me either. It’s us.

When one of your identities is rejected, resilience comes from turning to another identity that matters to you. Great read!

[Read More]

Bias detection in IBM Watson OpenScale


Tags software-architecture big-data machine-learning miscellaneous

Manish Bhide wrote this article on fairness or bias is one of the big issues that plagues the adoption of AI in enterprises.

Even if a model is known to act in an unbiased manner during training, it does not necessarily mean that it will continue to exhibit similar behaviour once it is deployed to production. IBM Watson OpenScale helps address this problem by monitoring the behaviour of AI Models in production and checking if they are acting in a biased manner.

The article then describes:

  • What is Bias?
  • Bias detection in Watson OpenScale
  • Data Perturbation

IBM Watson OpenScale provides a mechanism for enterprises to monitor if their models are acting in a biased manner at runtime. Interesting read!

[Read More]

Kotlin Multiplatform for Clean Architecture


Tags ios programming android mobile-apps

Jan Freymann wrote this piece about Kotlin and Kotlin Multiplatform, which enables us to write the same code for the JVM as well as LLVM!

Kotlin Multiplatform is getting more and more traction in the community right now. It is also heavily supported by JetBrains and Google, which probably means that this is more than yet another hyped cross-platform framework.

Following the write once, compile everywhere pattern, Kotlin multiplatform code is regular Kotlin code compiled to JVM bytecode for Android and to LLVM bytecode for iOS. The concept of compiling a shared library to native code for both mobile platforms is not new.

Primary goal is to build a minimal sample app which uses the MVVM pattern with the components persistence layer (i.e., database), repositories, view models and a HTTP-client to sync data. All components should be kept in the shared codebase, only the code for the UI should be platform-specific.

You can find the final code on GitHub. The tutorial then describes:

  • Scaffolding
  • Persistence
  • HTTP client
  • Repositories
  • View models
  • Tests

A major showstopper at the moment is the lack of support for co-routines on a background thread—JetBrains is working on it, though. Excellent tutorial!

[Read More]

Exercises in programming style: FP & I/O


Tags nodejs programming software functional-programming

The article in which author explores one of the foundation of Functional Programming, I/O and how to cope with it. Written by Nicolas Fränkel a developer advocate with 15+ years experience consulting for many different customers.

The content of the article:

  • Purity, side-effects, and I/O
  • Applying the theory
  • Higher-Order functions: purity and laziness
  • Handling different function signatures

Purity is one of the foundations of FP. Side-effects in general, and I/O in particular, breaks purity. A straightforward way to cope with I/O is to wrap functions into other functions to create higher-order functions.

Even better, higher-order functions provide laziness, and all their associated benefits. The complete source code for this post can be found on Github. Good read!

[Read More]

Better software design with application layer use cases | Enterprise Node.js + TypeScript


Tags nodejs javascript software security

In this article, we explore how organizing application logic as Use Cases in the application layer helps to make large typescript projects easier to reason about. Written by Khalil Stemmler.

The term Use Case is used to describe one of the potential ways that our software can be used. Another word that’s sometimes used is feature, though the concept is nearly identical.

Article covers the following topics towards structuring Node.js / TypeScript applications using Use Cases in the application layer:

  • How to discover Use Cases
  • The role of the application layer
  • How to identify which subdomain Use Cases belong in
  • How Use Cases make large projects more readable (screaming architecture)
  • How to implement Use Cases with TypeScript

The code from this article is available in GitHub repository and you will get schemas and charts for free, too. Nice one!

[Read More]

Blockchain solutions make financial services fairer, faster


Tags crypto blockchain fintech ibm software security

Sean Bennett wrote this article for IBM about how they applied blockchain technology to traditional fiat currencies.

They are disrupting legacy systems for transmitting value by making the entire process faster and less expensive. Their core product is Stronghold USD, a digital token that’s backed one-to-one against the US dollar by cash reserves on deposit. Unlike volatile digital tokens that are pegged or algorithmically synced to the dollar, Stronghold USD has a stable value. To help ensure that their institutional-grade regulatory technology integrates with traditional banking systems, we also offer a platform API.

In many parts of the world, people who lack wealth or live in isolated areas may not have access to financial services many of us take for granted, such as ATMs and debit cards.

Because blockchain smart contracts combine messaging with the settlement process, anyone who has a smartphone can receive or send money almost instantly. The funds arrive in Stronghold USD, which are easily exchanged with the recipient’s local currency.

The second use case similarly relies on blockchain’s ability to power transactions at lightning speed. IBM Blockchain World Wire, a multicurrency, cross-border payment rail network for the financial industry. The idea is to create a real-time, more efficient global payment system that supports regulatory compliance, privacy, security and monetary policy. Interesting read!

[Read More]

Authorization: Securing HTTP APIs with RBAC rules


Tags programming software nodejs web-development security

Learn how to use Auth0’s Role-Based Access Control (RBAC) feature to secure HTTP APIs with ease. An article by Bruno Krebs. This is the second, technical post in a 3-part series on focusing on Authorization. Stay tuned for the last part in this series, focusing on dynamic authorization.

Although you could use plain RBAC and assign the roles directly to users, you will use a better strategy that consists of defining groups to work as an intermediary between users and roles. That is, instead of assigning roles to users directly, you will assign roles to groups and users to groups.

The detailed information contains:

  • What is RBAC (Role-Based Access Control)? Introduction
  • The RBAC scenario
  • Apps, APIs, and RBAC
  • Handling RBAC in Node.js and Express
  • Using Auth0 to map the RBAC scenario

Code examples in GitHub repo and detailed terminal commands with explanation included. Very nice!

[Read More]

What is rapid application development?


Tags agile programming software apps

Stanley Idesis wrote this article about rapid software application. Rapid application development is an adaptive software development approach that focuses more on ongoing software projects and user feedback and less on following a strict plan.

How did RAD come about? In the 1980s, Barry Boehm, James Martin and others recognized this obvious point: software was not a raw mineral resource. They saw software for what it was: infinitely malleable. Boehm and Martin took advantage of software’s inherent pliability when designing their development models: the Spiral Model and the James Martin RAD model, respectively. Since then, RAD has evolved to take on other forms and acted as a precursor to agile.

The information in the article:

  • RAD methodology
  • Define requirements
  • Prototype
  • Absorb feedback
  • Finalize product
  • Rapid application development advantages
  • Development tools

Low-code tools, for example, bundle development elements (IDE, APIs, languages, framework, UI components, connectors, etc.) into a single coherent suite of tools for building applications visually, integrating them with the back-end, and then managing the app lifecycle.

No-code tools, by contrast, offer self-service application assembly for business users who are not developers. Great read!

[Read More]