teleren/devto huggingface dataset:
#ICYMI 001 - Learn from the community: Microsoft Teams and Moodle online learning solution
Tags: powerbi, microsoftteams, microsoftgraph, moodle
Published: 2022-03-24 16:51:12


‘Learn from the community’ is a series of articles to highlight real-life project scenarios covered in Show & Tell interviews on our [Microsoft 365 Developer YouTube](https://aka.ms/m365youtube) channel. It’s a great opportunity to get inspired by the end-to-end solutions built with the Microsoft Cloud and get excited for your next project. 

![Learn from the community logo](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ntp4k1lumlz83q914e4d.jpg)

In our first ‘Learn from the community’ scenario, a group of students from University College London joined me to talk about challenges that universities and colleges were facing during the COVID-19 pandemic in terms of tracking the attendance and engagement of their students. Institutes needed a course monitoring system to provide teachers and learning administrators a better way of managing students in their courses, not just during the pandemic. 

Project ORCA is designed by this group of students to complement the online learning tools with attendance and engagement monitoring features. ORCA (Online Register for Classes with Analytics) integrates with Microsoft Teams and Moodle to generate visual reports based on student attendance and engagement metrics. ORCA then provides these reports to the relevant teaching staff. In this project, there are four main technology pillars: 

- Microsoft Graph plays a significant role in terms of gathering students’ participation in lectures held on Microsoft Teams. 
- Moodle Adapter helps gather information about student activities through a plugin. 
- SharePoint lists store the incoming information as a common format to be consumed in the report later. 
- Power BI is consumed for creating visual reports. 
- ORCA is an open-source project that can be automatically deployed to Azure or on-premises to be reused by other institutes.  

Learn more about the project 🚀👉

{% youtube xK8i4CK_XG0 %}

###Useful Links
####📌 ORCA  
- [GitHub](https://github.com/UCL-ORCA/Orca)
- [Educator developer blog](https://techcommunity.microsoft.com/t5/educator-developer-blog/online-register-for-classes-with-analytics-orca-project/ba-p/2261822) 

####📚 Microsoft Learn
- [Microsoft Graph Fundamentals](https://docs.microsoft.com/learn/paths/m365-msgraph-fundamentals/?WT.mc_id=m365-54401-aycabas) 
- [Develop apps with the Microsoft Graph Toolkit](https://docs.microsoft.com/learn/paths/m365-msgraph-toolkit/?WT.mc_id=m365-54401-aycabas) 

####📃 Microsoft Docs 
- [Microsoft Graph online meeting attendance report](https://docs.microsoft.com/graph/api/resources/attendancerecord?view=graph-rest-1.0&WT.mc_id=m365-54401-aycabas) 
- [Set up your SharePoint site with lists and libraries](https://docs.microsoft.com/sharepoint/dev/business-apps/get-started/set-up-sharepoint-site-lists-libraries?WT.mc_id=m365-54401-aycabas) 
- [Create a Power BI dashboard from a report](https://docs.microsoft.com/power-bi/create-reports/service-dashboard-create?WT.mc_id=m365-54401-aycabas)
Create React App error
Tags: javascript, react, webdev, cli
Published: 2022-03-24 16:49:13

```bash
npx create-react-app myapp
```
## Uff! this error.
```bash
You are running `create-react-app` 4.0.3, which is behind the latest release (5.0.0).

We no longer support global installation of Create React App.
```
instead of typing `create-react-app` you can type `create-react-app@5.0`

```bash
npx create-react-app@5.0 .
```

or you can uninstall global `create-react-app` package by

```bash
npm rm -g create-react-app
```

then install new version of `create-react-app` globally by

``` bash
npm i -g create-react-app
```

Now you can easily create new react project.
Day-50 Training At Ryaz
Tags: webdev, beginners, node, github
Published: 2022-03-24 16:48:08

- Date:24/03/2022
- Day:Thursday

Today I started about 10:40 am as I was done with all creation of crud app and as I was supposed to compleate the operation that user or host would create the source soothes was settled by passing id of host while triggering the post api so, this way it was completed and after this the thing to create was that user would buy the course so, this is resolved by passing the id of user in the cource so,basic things of crud was completed as discussed with my mentor so, at present I have no idea or knowledge about the authorisation and authentication so, I would do it in latter stage so, and after this today I started with cleaning up my unecessary files and necessary code and I have pushed all my code to git hub
i.e https://github.com/mahin651/node-task .this way my day ended up and I think my this task for now is done.
Journey for writing my first book about cloud security
Tags: cloud, aws, books, tutorial
Published: 2022-03-24 16:43:17

My name is Eyal, and I am a cloud architect.
I have been in the IT industry since 1998 and began working with public clouds in 2015.

Over the years I have gained hands-on experience working on the infrastructure side of AWS, Azure, and GCP.
The more I worked with the various services from the three major cloud providers, the more I had the urge to compare the cloud providers' capabilities, and I have shared several blog posts comparing the services.

In 2021 I was approached by PACKT publishing after they came across one of my blog posts on social media, and they offered me the opportunity to write a book about cloud security, comparing AWS, Azure, and GCP services and capabilities.

Over the years I have published many blog posts through social media and public websites, but this was my first experience writing an entire book with the support and assistance of a well-known publisher.

As with any previous article, I began by writing down each chapter title and main headlines for each chapter.
Once the chapters were approved, I moved on to write the actual chapters.

For each chapter, I first wrote down the headlines and then began filling them with content.

Before writing each chapter, I have done research on the subject, collected references from the vendors' documentation, and looked for security best practices.

Once I have completed a chapter, I submitted it for review by the PACKT team.

PACKT team, together with external reviewers, sent me their input, things to change, additional material to add, request for relevant diagrams, and more.

Since copyright and plagiarism are important topics to take care of while writing a book, I have prepared my diagrams and submitted them to PACKT.

Finally, after a lot of review and corrections, which took almost a year, the book draft was submitted to another external reviewer and once comments were fixed, the work on the book (at least from my side as an author) was completed.

From my perspective, the book is unique by the fact that it does not focus on a single public cloud provider, but it constantly compares between the three major cloud providers.

From a reader's point of view or someone who only works with a single cloud provider, I recommend focusing on the relevant topics according to the target cloud provider.

For each topic, I made a list of best practices, which can also be referenced as a checklist for securing the cloud providers' environment, and for each recommendation I have added reference for further reading from the vendors' documentation.
The book is one of my highlights as an AWS community builder.

If you are interested in learning how to secure cloud environments based on AWS, Azure, or GCP, my book is available for purchase in one of the following book stores:
•	Amazon:
https://www.amazon.com/Cloud-Security-Handbook-effectively-environments/dp/180056919X
•	Barnes & Noble:
https://www.barnesandnoble.com/w/cloud-security-handbook-eyal-estrin/1141215482?ean=9781800569195
•	PACKT
https://www.packtpub.com/product/cloud-security-handbook/9781800569195
How the cp Command Works on Linux
Tags: bash, linux, javascript, webdev
Published: 2022-03-24 16:41:12

The cp command (not to be confused with cd), allows us to copy files or directories. As such it is very commonly used on Linux and Unix like systems like MacOS.

The syntax for cp is shown below, where `[OPTIONS]` are optional settings we can change, `SOURCE` is one or more files/directories we want to copy, and `LOCATION` is where we want to copy them to:

```
cp [OPTIONS] SOURCE LOCATION
```

## How to copy files with cp on Linux and MacOS
At its most basic, we can use cp to copy a file or directory to a new location. For example, the following command will copy a file called `my-file-1.txt` to a directory called test:

```
cp my-file-1.txt ./test
```

In the above example, we don't give a file name, so the original file name is used. If we add a file name, we can copy the file with a new name. The following example will copy the file, and save it as new-file.txt in the test directory:

```
cp my-file-1.txt ./test/new-file.txt
```

If the file already exists, it will be overwritten. If you want to avoid that, just add the -n option, which will prevent any duplicate files from being overwritten:

```
cp -n my-file-1.txt ./test
```

If you'd instead like to confirm when a file is going to be overwritten, use the -i option. This will trigger a prompt asking if you want to overwrite it:

```
cp -i my-file-1.txt ./test
```

On Linux only, you can also use the -u option, which will only overwrite files if the file is older than the file you want to overwrite it with. This will not work on MacOS.

```
cp -u my-file-1.txt ./test
```

Finally, if you want a response whenever a cp command is complete, use -v to get a verbose message which will tell you exactly what's happened:

```
cp -v my-file-1.txt ./test
# my-file-1.txt -> ./test/my-file-1.txt
```

## Maintaining file permissions when copying a file on Linux and Mac
If you want to maintain all the permissions that existed on the file you are copying when you copy it to its new directory, use the -p option. If you don't, the owner will be whoever is using the cp file:

```
cp -p my-file-1.txt ./test
```

## How to copy directories with cp on Linux and Mac
So far we've looked at how to copy files. If we want to copy directories, we need to use the -R option, which stands for recursive. When we use this option, we copy the entire directory and all its children to a new location. For instance, to copy the test directory and call this copied directory newTest, you would write the following in terminal:

```
cp -R ./test ./newTest
```

## How to copy multiple files and directories with cp
To copy multiple items at once, list them all out, and have the last location as the place where you want to copy all that stuff to. For example:

```
cp my-file-1.txt my-file-2.txt my-file-3.txt ./newTest
```

And if you want to include folders when you copy multiple things, use the -R option:

```
cp -R my-file-1.txt my-file-2.txt ./test ./newTest
```
Event-driven Process Chain for Wordle
Published: 2022-03-24 16:38:43

## Diagraming Wordle
As we begin to dive into the relationship between Wordle and the user, we have diagramed out the process of playing the game.

By using the event-driven process chain format, it exposes the processes that are not inherently visible to the user. It also specifies the different paths and use cases when the user plays the game. It also diagrams the autonomous work flow so that we can have a better handle on the processes that we need to replicate.




![Wordle EPC](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4ajdc7yy7yoojc2b455s.png)
Kubernetes - Problem related to M1 chip Mac
Published: 2022-03-24 16:35:55

## What happened

`standard_init_linux.go:228: exec user process caused: exec format error`

## When

When I Apply Deployment.

## Why

Docker image created by M1 Chip didn't work properly.

## How to resolve

```bash
# it will not work
docker build -t {tag name} .

# it will work.
docker build --platform=linux/amd64 -t {tag name} .
```

[cf](https://stackoverflow.com/questions/42494853/standard-init-linux-go178-exec-user-process-caused-exec-format-error)
Machine learning on different groups of data instead of individual
Tags: jupyter, machinelearning
Published: 2022-03-24 16:31:31

Hi, I have a problem set to predict winners of Running races. The data I got was groups of data, in each group I have the attributes of each runner and their best time ranking in the corresponding group. For each group, the number of runners is different. So there may be 2 runners in a group and the slowest one rank 2 but the time he achieved could be ranking 10th if he is in a group of 12 people. But I don't have the exact timing of each runner. As such, which machine learning model would be useful that could be trained based on a group of runner, instead of being trained by each individual runner?

I have tried the supervised learning models, like logistic regression, KNN, decision tree, SVM, etc. But the score I got was around ~75% only. Would there be way to increase the accuracy?
Forem for Android is Here! 🤖
Tags: forem, mobile, meta, android
Published: 2022-03-24 16:30:13

---
title: Forem for Android is Here! 🤖  
published: true
description: Download the new Forem Android app on the App Store
tags: forem, mobile, meta, android
cover_image: https://forem.dev/remoteimages/uploads/articles/f7nihr3z8nacgyb8ptrn.png
---

### Today, I'm excited to share that _[the Forem app for Android](https://play.google.com/store/apps/details?id=com.forem.android)_ is now available for download and immediate use. 🎉 

This fantastic news comes after months of beta testing and collecting valuable feedback from Forem Creators, DEV moderators & Trusted Users on DEV. We're so proud of this mobile app built for the many Android users that are part of DEV, [CodeNewbie Community](https://community.codenewbie.org), and the entire Forem ecosystem. 

Much like the Forem [iOS](https://apps.apple.com/us/app/forem/id1536933197) app, our Android app is meant to help you move through your day without sacrificing smooth access to new articles, podcasts, and discussions across any Forem community you're a member of. With a more seamless experience and a wider world of Forem access at your fingertips, we see our Android app as a huge improvement from the now discontinued DEV app.

## [>> Download the Forem Android App today](https://play.google.com/store/apps/details?id=com.forem.android)

---

### **Here are some of the features you'll get with the Forem [iOS](https://apps.apple.com/us/app/forem/id1536933197) & [Android](https://play.google.com/store/apps/details?id=com.forem.android) apps...**

#### Discover, preview, & join new Forem communities 
Browse the list of available public Forems or add a privately listed Forem you belong to. Tap into each for a preview before you decide to join. 

#### Access both public and private Forems 
Our dropdown menu or left-right swiping functionality allows you to explore different communities through one central list.

#### Browse mobile-optimized content
Articles, discussions, and podcasts on public Forems are available for your enjoyment — whether you're a member of them or not.

#### Share images on the go
Post while the inspiration strikes with our mobile image uploader.  

#### Stay up-to-date with the latest activities 
Push notifications keep you in the loop with the latest news about your posts, comments, and network. 

... and lots more!

> **Ready to get started with Forem on mobile?  Download Forem for [Android](https://play.google.com/store/apps/details?id=com.forem.android) and [iOS](https://apps.apple.com/us/app/forem/id1536933197) today.** 


![Android app preview - preview and login to Forems](https://forem.dev/remoteimages/uploads/articles/xsikbngt9ud22fyt4fyt.png)

Let us know what you think of our apps! If you love them, we hope you'll consider leaving us a five-star review. ⭐️⭐️⭐️⭐️⭐️
Das WordPress-LMS WP Courseware
Tags: wordpresslms
Published: 2022-03-24 16:29:15

WordPress, die kostenlose und quelloffene Veröffentlichungsplattform, bietet eine Reihe kostenloser nischenspezifischer Add-ons und Themes. Eines dieser Themes ist WP Courseware, mit dem du Online-Kursinhalte erstellen kannst. Egal, ob du deine eigene Online-Schule gründen, Kurse verkaufen oder eine Berufsausbildung anbieten willst, WP Courseware ist genau das Richtige für dich.

## WP Courseware Features

[WP Courseware](https://kursprofi.com/review/wp-courseware/) ist eine WordPress-Akademie, die Kurse und Schulungsmaterialien für die WordPress-Community anbietet. Sie hat eine Reihe von Online-Kursen zu Themen wie der Erstellung von benutzerdefinierten Themes und Plugins, dem Aufbau einer Website, der Vermarktung deines Unternehmens, öffentlichem Reden und der Verbesserung deiner WordPress-Kenntnisse veröffentlicht, um nur einige zu nennen.

## WP Courseware Preise

WP Courseware bietet einen Kurs pro Monat für 4,99 $ pro Monat an. Dieser Preis beinhaltet die Kurse (und die dazugehörigen Vorlagen) sowie die Möglichkeit, den gesamten Kurs herunterzuladen. Der monatliche Preis ist niedriger als bei den meisten Kursen und ermöglicht dir den Zugang zu mehreren Kursen für 4,99 $ pro Monat.

## WP Courseware Pro & Cons

WP Courseware Pro ist ein WordPress-Plugin für die Erstellung und den Verkauf von Online-Kursen. Zu seinen Funktionen gehören abonnementbasierte Preise, Weiterbildungsgutschriften und der Import/Export von Massenkursen. WP Courseware Pro ist sehr funktionsreich, hat aber auch ein paar Nachteile.
At Luos, our CI (Continuous Integration) workflow is simple.
Tags: devops, github, testing, luos
Published: 2022-03-24 16:27:44

At Luos, our CI (Continuous Integration) workflow is simple. 
⏩ https://github.com/Luos-io/Luos/tree/master/test
Thanks to a few tools (Github Actions and PlatformIO), automatic unit tests permit us to increase our code quality every day.

Do you want to test your feature? Check out our read me file on Github!
Adding an Animated Dark Theme Toggle to your website
Tags: react, html, dark, opensource
Published: 2022-03-24 16:25:58

Having a Dark and Light mode to your website is becoming more and more popular. I'm proud to say I have build an opensource project which provides a collection of elegant and functional toggles.

The library currently has official support for React but can be easily used in any framework.

[All the toggles](https://toggles.dev)

[Github](https://github.com/AlfieJones/theme-toggles)

## Adding to a website

I'm going to show you how to add the Classic toggle to a website. If you're using react, see below. 

Firstly, we need to copy the HTML code, from [toggles.dev](https://toggles.dev/classic)

We're going to use the button, and at the time of writing it looks like this:

```html
<button
  class="theme-toggle"
  type="button"
  title="Toggle theme"
  aria-label="Toggle theme"
>
  <svg
    xmlns="http://www.w3.org/2000/svg"
    aria-hidden="true"
    width="1em"
    height="1em"
    fill="currentColor"
    stroke-linecap="round"
    class="theme-toggle__classic"
    viewBox="0 0 32 32"
  >
    <clipPath id="theme-toggle__classic__cutout">
      <path d="M0-5h30a1 1 0 0 0 9 13v24H0Z" />
    </clipPath>
    <g clip-path="url(#theme-toggle__classic__cutout)">
      <circle cx="16" cy="16" r="9.34" />
      <g stroke="currentColor" stroke-width="1.5">
        <path d="M16 5.5v-4" />
        <path d="M16 30.5v-4" />
        <path d="M1.5 16h4" />
        <path d="M26.5 16h4" />
        <path d="m23.4 8.6 2.8-2.8" />
        <path d="m5.7 26.3 2.9-2.9" />
        <path d="m5.8 5.8 2.8 2.8" />
        <path d="m23.4 23.4 2.9 2.9" />
      </g>
    </g>
  </svg>
</button>
```
We then want to make sure we have the CSS. Find the latest versions from [JSDELIVR](https://www.jsdelivr.com/package/npm/theme-toggles?path=css) and add it to your Head.

```HTML
<head>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/theme-toggles@4.9.2/css/classic.min.css" integrity="sha256-ILVFUnh+ImxX+Mn4ykqVnowo8WNCuskhdKSuoOOrago=" crossorigin="anonymous">
<head />
```

Now all we need to do is apply the toggled class when the theme is dark. The button will toggle when it has the class "theme-toggle--toggled". This should be toggled via JavaScript.

And that's it.

### React

If you're using react, it's even easier to get the toggles up and running. See how to use the react package [here](https://toggles.dev/docs/react)
Applying Koa's onion model to front-end requests
Tags: javascript, node, typescript, front
Published: 2022-03-24 16:23:00

As anyone who has used koa knows, the onion model is a clever middleware pattern that uses nested functions, which elegantly encapsulates response and request processing in a single middleware

Koa middleware example:
```javascript 
app.use(async (ctx, next) => {
  await next();
})
```
When we process the request, we are splitting it for each request and the minimum focus should be on the request as a whole (Request & Response) rather than splitting the Request and Response of the request in two separate logics

It is better to visualize the causal relationship between request and response directly through the syntax level of the code, rather than through the function call order

For example, using Koa and Axios to implement the same request timing logic.


**Koa**

```javascript
app.use(async (ctx, next) => {
  const start = Date.now()
  await next()
  const ms = Date.now() - start
  console.log(ms)
})
```

**Axios**

```javascript
let start = 0

axios.interceptors.request.use(function(config){
  start = Date.now()
})

axios.interceptors.response.use(function(response){
  const ms = Date.now() - start
  console.log(ms)
})
```

In the axios code, we just implement the single logic of timing, but it is forcibly split into two Hooks, and it is not clear from the syntax level alone that they have any relationship, only that an external variable is created to couple them together

As you can see, the Onion Middleware looks cleaner and more logically cohesive than the regular Hooks.

The onion model has a natural advantage in handling Before / After logic, such as vue-router, redux also use this approach, since the onion model can be used for back-end requests, it can also be used for client-side requests

So, an HTTP client based on the onion model is created, and it looks like this.

**Resreq**

```javascript
import Resreq from 'resreq'

const resreq = new Resreq({
  baseUrl: 'https://example.com'
})

// Intercepting responses and requests using middleware
resreq.use((next) => async (req) => {
  try {
    console.log(req) // Request can be changed here
    const res = await next(req)
    console.log(res) // Response can be changed here
    return res
  } catch (error) {
    console.log(error) // Catch errors here
    throw error
  }
})

const res = await resreq.get('/api', {
  params: { foo: 'bar' }
})

console.log(res)
```

GitHub: https://github.com/molvqingtai/resreq