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 ]

Microsoft IoT Signals research report on state of IoT adoption

Categories

Tags analytics big-data robotics iot azure

Microsoft recently announced IoT Signals, a new research report on the IoT landscape globally. Microsoft surveyed over 3,000 IoT decision-makers in enterprise organizations in order to give a view of the IoT ecosystem, with adoption rates, related technology trends, challenges, and benefits of IoT.

“IoT is transforming businesses in every industry and is powering breakthrough innovations,” said Sam George, head of Azure IoT. “Our research shows that unlocking IoT’s full potential requires the industry to address key challenges like the skills shortage, security concerns and solution complexity. Microsoft is leading the way on simplifying and securing IoT so that every business on the planet can benefit.”

IoT Signals key findings:

  • 85% of respondents are in IoT adoption, and three-fourths of these have IoT projects in planning
  • Among IoT adopters, 88% believe IoT is critical to business success
  • IoT adopters believe they will see a 30% ROI, inclusive of cost savings and efficiencies, two years from now
  • Nearly all IoT adopters — 97% — have security concerns when implementing IoT, but this is not hindering adoption
  • 38% of IoT adopters cite complexity and technical challenges to using IoT as a barrier to furthering their IoT adoption
  • Lack of talent and training present challenges for half of IoT adopters, and 47% say there are not enough available skilled workers
  • Respondents believe critical technology drivers for IoT success in the next two years are AI, edge computing and 5G
  • Nearly one-third of projects (30%) fail in the proof-of-concept stage, often because implementation is expensive or bottom-line benefits are unclear

Excellent report!

[Read More]

Bias Variance decompositions using XGBoost

Categories

Tags machine-learning big-data programming

This blog dives into a theoretical machine learning concept called the bias-variance decomposition. This decomposition is a method which examines the expected generalization error for a given learning algorithm and a given data source. This helps us understand various questions about model. Written by RAPIDS.

Generalization concerns overfitting or the ability of a model learned on training data to provide effective predictions on new unseen examples. We perform experiments using two popular tree ensemble learning algorithms, Gradient Boosting and Random Forests.

The main points of the article:

  • Bias Variance decomposition explained
  • Experimental Methodology
  • Gradient Boosting
  • Random Forests

Model performance may deteriorate based on two distinct sources of error -– bias and variance. Gradient boosting models combat both bias and variance by boosting for many rounds at a low learning rate. Further resources and charts include. Nice one!

[Read More]

How to encrypt files with gocryptfs on Linux

Categories

Tags linux devops miscellaneous programming software app-development

Gocryptfs encrypts at the file level, so synchronization operations can work efficiently on each file. An article by Brian “bex” Exelbierd (Red Hat).

Gocryptfs is a Filesystem in Userspace (FUSE)-mounted file-level encryption program. FUSE-mounted means that the encrypted files are stored in a single directory tree that is mounted, like a USB key, using the FUSE interface.

This allows any user to do the mount—you don’t need to be root. Because gocryptfs encrypts at the file level, synchronization operations that copy your files can work efficiently on each file. This contrasts with disk-level encryption, where the whole disk is encrypted as a single, large binary blob.

The article covers:

  • Installation of gocryptfs
  • How to initialize your encrypted filesystem
  • How to use your encrypted filesystem
  • Unmounting the filesystem
  • Backing up your data
  • Bonus: Reverse mode

Gocryptfs is a flexible file encryption tool that allows you to store your data in an encrypted manner without changing your workflow or processes significantly. Nice one!

[Read More]

Build a mobile phone authentication component with React and Firebase

Categories

Tags apis programming web-development infosec

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

Categories

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

Categories

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

Categories

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

Categories

Tags ios kotlin programming android app-development

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

Categories

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

Categories

Tags nodejs javascript software infosec

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]