teleren/devto huggingface dataset:
Beating the OWASP Benchmark with Alok Shukla
Tags: cybersecurity, podcast, softwareengineering, softwaredevelopment
Published: 2021-06-21 20:50:29

---
title: Beating the OWASP Benchmark with Alok Shukla
published: true
date: 2021-06-10 14:43:43 UTC
tags: cybersecurity,podcast,softwareengineering,softwaredevelopment
canonical_url: https://blog.shiftleft.io/beating-the-owasp-benchmark-with-alok-shukla-4860c61775f7
---

#### Sources and Sinks interviews Alok Shukla, VP of Product Management at Shiftleft on how to beat the OWASP Benchmark

![](https://cdn-images-1.medium.com/max/1024/0*cqj5iE8S7sk4zT2A)<figcaption>Photo by <a href="https://unsplash.com/@aaronburden?utm_source=medium&amp;utm_medium=referral">Aaron Burden</a> on <a href="https://unsplash.com?utm_source=medium&amp;utm_medium=referral">Unsplash</a></figcaption>

Welcome back to another episode of sources and sinks. The OWASP benchmark project is an OWASP initiative designed to measure the accuracy of security scanners. But what does that mean? Today, we talk to Alok Shukla, VP of product management at Shiftleft about what the benchmark score of a product means, and how you should evaluate a security scanner.

<iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.buzzsprout.com%2F261001%2F8655562-beating-owasp-benchmark-with-alok-shukla%3Fclient_source%3Dtwitter_card%26player_type%3Dfull_screen&amp;display_name=Buzzsprout&amp;url=https%3A%2F%2Fwww.buzzsprout.com%2F261001%2F8655562&amp;image=https%3A%2F%2Fwww.buzzsprout.com%2Frails%2Factive_storage%2Frepresentations%2FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBCUEI4WHdJPSIsImV4cCI6bnVsbCwicHVyIjoiYmxvYl9pZCJ9fQ%3D%3D--d21351c620d417d9756ea9f49e6a9c8763e8eb9d%2FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdCam9VWTI5dFltbHVaVjl2Y0hScGIyNXpld282QzNKbGMybDZaVWtpRFRJMU1IZ3lOVEJlQmpvR1JWUTZER2R5WVhacGRIbEpJZ3RqWlc1MFpYSUdPd2RVT2d0bGVIUmxiblJKSWd3eU5UQjRNalV3QmpzSFZEb01jWFZoYkdsMGVXbFZPZzlqYjJ4dmNuTndZV05sU1NJSmMxSkhRZ1k3QjFRPSIsImV4cCI6bnVsbCwicHVyIjoidmFyaWF0aW9uIn19--62c0dc9ae0106a9121f982eb952976ff55ebdee3%2FPodcast%2520-%2520Alok.jpg&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=buzzsprout" width="500" height="210" frameborder="0" scrolling="no"><a href="https://medium.com/media/204e879d76374afa0263eb59aafe3194/href">https://medium.com/media/204e879d76374afa0263eb59aafe3194/href</a></iframe>

Source and Sinks is a technology-focused podcast. We talk about the business, people, products, and culture of technology — with a security twist. Listen to more Sources and Sinks here:

[‎Sources and Sinks on Apple Podcasts](https://podcasts.apple.com/us/podcast/sources-and-sinks/id1503847743)

* * *
Daily Developer Jokes - Thursday, Jun 10, 2021
Tags: jokes, dailydeveloperjokes
Published: 2021-06-10 14:32:05

---
title: "Daily Developer Jokes - Thursday, Jun 10, 2021"
description: "Check out today's daily developer joke! (a project by Fred Adams at xtrp.io)"
series: "Daily Developer Jokes"
cover_image: "https://private.xtrp.io/projects/DailyDeveloperJokes/thumbnail_generator/?date=Thursday%2C%20Jun%2010%2C%202021"
published: true
tags: #jokes, #dailydeveloperjokes
---

Generated by Daily Developer Jokes, a project by [Fred Adams](https://xtrp.io/) ([@xtrp](https://dev.to/xtrp) on DEV)

___Read about Daily Developer Jokes on [this blog post](https://xtrp.io/blog/2020/01/12/daily-jokes-bot-release/), and check out the [Daily Developer Jokes Website](https://dailydeveloperjokes.github.io/).___
### Today's Joke is...
![Joke Image](https://private.xtrp.io/projects/DailyDeveloperJokes/public_image_server/images/5e12594523a5e.png)

---
*Have a joke idea for a future post? Email ___[xtrp@xtrp.io](mailto:xtrp@xtrp.io)___ with your suggestions!*

*This joke comes from [Dad-Jokes GitHub Repo by Wes Bos](https://github.com/wesbos/dad-jokes) (thank you!), whose owner has given me permission to use this joke with credit.*

<!-- 
Joke text:
___Q:___ What did the process say after working in an infinite loop all day?

___A:___ I need a break.
 -->
This week I learned...
Published: 2021-06-10 14:01:33

This week, I learned about making APIs using C# and ASP.Net Core. The Pluralsight course moved at a quick pace, so I'm not sure how well I digested the information. Hopefully, with some hands-on practice, I'll get the hang of it and understand the fundamental concepts a bit better. 

Since I am entirely a newbie to the C# and .NetCore realm, I had lots of questions and sometimes felt confused because I feel like my understanding is more of a generalized understanding rather than specific to this framework. I think I need to do some more research on understanding on how to build APIs. 

My higher level understanding is basically this:
A GET request grabs data from an API.
A POST request sends data to be processed.
A PUT request updates the data.
DELETE does what it says: deletes data. 


Some lingering questions I have: 
- Why is a model needed when designing APIs? 
- What is the controller? 
- On a fundamental level, what is MVC?
- What does auto mapper do? 
- What's the difference between asynchronous and non asynchronous and how do you know whether to use await async or not? 
- What's the difference between an ActionResult and an IActionResult? What does an I in front of a function name mean in general?
- What is a functional API? 
- What makes an API RESTful?
Hello world! 
Published: 2021-06-10 13:57:55

Hello world!

I've decided to start a blog as I formally begin my software engineering journey. 

In a future post, I'll write about how I got here in the first place - my journey dates back several years. 

But for now, I'm going to write about my thoughts and observations as I begin my journey as a software engineer intern. Here goes nothing. :) 

Mel
Knock and Open Source
Tags: opensource, node
Published: 2021-06-10 13:55:26

[Knock.com](https://knock.com) is built with Open Source Software (OSS). It permeates our technology stack from the interactive website all the way through to the services and systems that power our infrastructure. We depend on OSS, and we are excited to start contributing back to our community. Doing so aligns well with a couple of our [core values](https://www.knock.com/careers), which we call POPSICLE, "people first" and “open”:

+ P - passionate
+ O - open
+ P - people first
+ S - simplicity
+ I - impact
+ C - courage
+ L - learning
+ E - enjoying life

We believe in being **Open** with our community, to **Learn** from each other, and to make an **Impact** if we can. We deeply believe that companies relying on OSS should be contributing back to the community in any way they can. For us, that means releasing code as an organization that others may find useful, and contributing back to the projects we use. Over time, that may evolve into other sorts of contributions, but these core principles will remain the same.

In that spirit, we are pleased to announce our first open source project...

## sqsiphon

[`sqsiphon`](https://github.com/knockaway/sqsiphon), installable via `npm install @knockaway/sqsiphon`, is a library we wrote to help us improve our webhook event ingestion. Initially, we were relying on the scalable nature of AWS Lambda to handle our incoming webhooks. This worked for a fair amount of time, but as we grew, so did the number of incoming webhook events we needed to process. This resulted in Lambda overloading our data stores. To solve the problem, we built out a system that receives the webhook events and puts them into an AWS SQS FIFO queue.

As we built out this new system, we looked at the current module ecosystem to determine if anything would fit our needs to keep this queue cleared. Unfortunately, the best module we could find, [`sqs-consumer`](https://github.com/BBC/sqs-consumer), did not support FIFO queues and the issues indicated they did not have any intention to do so. Therefore, we wrote `sqsiphon`. Our library heavily borrows from the public interface of `sqs-consumer`, but is implemented in a much different way. In particular, `sqsiphon` leverages the [Node.js event loop](https://nodejs.org/en/docs/guides/event-loop-timers-and-nexttick/) through [`setImmediate`](https://nodejs.org/dist/latest-v14.x/docs/api/timers.html#timers_setimmediate_callback_args) to build the polling mechanism instead of relying on SQS's "long polling" feature. Additionally, `sqsiphon` utilizes the JavaScript prototype to reduce reliance on expensive closures. As a bonus, [OpenTracing](https://opentracing.io) support is built-in to `sqsiphon` so that applications built with it can be monitored effectively. The result is a library that can poll SQS extremely quickly while requiring very little overhead.

We hope you find this library as useful as we do.
Generate breadcrums for your Angular-Router and set page title dynamically.
Tags: angular, typescript, javascript
Published: 2021-06-10 13:50:42

In this example I am going to explain you that You can use library to generate breadcrumbs, and also set each page title dynamically.

first you need to install this library to your angular project.

`npm install set-title-with-breadcrumbs`

This will install library called set-title-with-breadcrumbs, this library is used to generate breadcrumbs component and also you can set page title using angular router. After installing this library..

**Go to your app.module.ts file and add below code**

```javascript
import { SetTitleWithBreadcrumbsModule} from 'set-title-with-breadcrumbs';
    @NgModule({
        imports : [SetTitleWithBreadcrumbsModule]
    })
```

**in side your app-routing.module.ts file you have to add new data:{} object with `breadcrumbs` and `title` object property.**

```javascript
const routes: Routes = [
  {
    path: 'home',
    component: HomeComponent,
    data: { title: 'Home Page', breadcrums: 'Home' },
    children: [
      {
        path: 'records',
        component: RecordsComponent,
        data: { title: 'Find Records Page', breadcrums: 'Find-Records' },
        children: [
          {
            path: 'child',
            component: ChildComponent,
            data: { title: 'Child Record Page', breadcrums: 'Child-Record' }
          }
        ]
      }
    ]
  }
]
```
as you can see above, each router-path has data object with two property - breadcrumbs and title.

**Now inside your app.component.html file you need to add component of library.**

```html
<lib-set-title-with-breadcrumbs></lib-set-title-with-breadcrumbs>
<router-outlet></router-outlet>
```
#### You can support me here.

[![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/fv8jyjdsb975y5ztsl2e.png)](https://www.buymeacoffee.com/grdtech)

Connect with me by email : grdtechlab@gmail.com 

Working demo in this stackblitz link

{% stackblitz ng-webcontainer-abgec3 %}
Registration Form Validation Using Javascript Tutorial
Tags: javascript, html
Published: 2021-06-10 13:38:40

Hello Friends,

Now let's see example of how to use form validation in javascript. Here you will learn how to use javascript form validation. We will use how to form validation in javascript. This is a short guide on form validation. Let's get started with how to use form validation in javascript.

Here i will give you many example how you can use form validation in javascript.

more..
https://www.mywebtuts.com/blog/registration-form-validation-using-javascript-example
T-SQL: How To Write An Inner Join and Why
Tags: database, sql, tutorial
Published: 2021-06-10 09:34:17

When storing data, one technique to storing data is linking information through identification of the data. This is the dominant way that SQL engines operate and within SQL engines comes join functionality — one of which is the inner join. In the video, [SQL Basics: How To Use An INNER JOIN and Why](https://www.youtube.com/watch?v=Ied5YaCu_-0), we look at how to write an inner join with an example of where we’d use it.

Some questions that are answered in the video:
- Note the tables that we’re using and what values are identical based on the column names and what values differ based on the column names. We’ll be using these tables throughout these videos.
- In first our example, what do we INNER JOIN on? How might that differ if we use another column? Why?
- In our second example, what do we INNER JOIN on? What’s the result compared with the first result? Why did this occur?
- What is the bonus note in the video for people who watch the full video? Why is this important?
- What is a distinct value?

One quick note about inner joins is that if one table has multiples of the join condition, the result will be multiples because of how it functions — it returns matches. In our example, if Table2 had 2 3s for Id, then we would have 2 3s as a result because one of the tables had multiples.

A practical example of an INNER JOIN would be if we had two tables, one of which stored a list of homes available for sale in an area with a unique identifier for each of the homes and another table stored the pricing history for all the unique identifiers of the homes. If we wanted to get the pricing history for homes, we would join the two tables on the unique identifier. This example also illustrates where we would use foreign key relationships, as we can’t have a price of a home that doesn’t exist — thus a home would have to first exist before we could store its pricing history. In this example, there could be a one-to-many relationship, as one home could have multiple prices listed in its history (very common, unless a home is new and hasn’t been sold).
Images in a Notion page with gatsby-source-notion-api
Tags: gatsby, javascript, notion, jamstack
Published: 2021-06-10 13:34:17

---
title: Images in a Notion page with gatsby-source-notion-api
published: true
tags: gatsby, javascript, notion, jamstack
canonical_url: https://orlow.dev/images-in-a-notion-age-with-gatsby-source-notion-api
cover_image: https://images.unsplash.com/photo-1540103711724-ebf833bde8d1?ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&ixlib=rb-1.2.1&auto=format&fit=crop&w=1955&q=80
---

# The syntax

Simply put this line as text on your Notion page and replace **image alt** and **image source** with
something that would work for you. I mean, literally, this will not work, you at least need a real
image source. 👍

```markdown
![image alt](image source)
```

If you'd like to find out how to make code blocks (like the one above) with
`gatsby-source-notion-api` while Notion API still doesn't support them,
[here's a rather dirty hack that will help you to do so](https://orlow.dev/how-to-use-code-snippets-with-gatsby-source-notion-api).

# The easiest way - remote images

If an image is already available somewhere online, and you have the URL, simply put it between the
braces and you're good to go.

# But the image is on my computer...

In Gatsby, there is a `static` folder that you can create in the root directory of your project.
Whatever you declare there, will be available publicly. All you need to do is refer to the image as
if it was available at the root of your website.

For instance, if you have an image called **puppy.png**, you can put it to `./static` inside your
Gatsby project, and then refer to it on your notion page as:

```markdown
![Never lie in the alt text, it's a puppy!](/puppy.png)
```

# Caveat

Since the images are not referenced from a Markdown file, and the path to the image is not
relative - you will need something like
[gatsby-remark-images-anywhere](https://www.gatsbyjs.com/plugins/gatsby-remark-images-anywhere/) so
that they are converted into file nodes and all the gatsby-image magic works with them properly.
Introducing Roover – a lightweight audio library for React
Tags: react, javascript, webdev, programming
Published: 2021-06-10 13:12:02

Modern applications are using audio all the time. Audio can turn a boring application into an interesting one, adding emotion to the content. Most of the modern applications that we use daily are using audio for at least in some part.

Work with audio in React applications is painful. There are not too many good libraries to manage audio and most of the time we need to create our solutions. Manage audio in a modern application is important and should be made by using the best tools and libraries.

## Introducing Roover
[Roover](https://github.com/leonardomso/roover) is a powerful and lightweight library for working with audio in React apps. It is a simple custom React hook that can be used anywhere in your application.

It is very easy to get started with Roover. Inside your React project, just run the command to install it: 

````
yarn add roover
```

Now, just import the `useRoover` hook and start to use it: 

```
import React from 'react';
import useRoover from 'roover';

const src =
  'https://storage.googleapis.com/media-session/elephants-dream/the-wires.mp3';

const App = () => {
  const {
    initial,
    loading,
    ready,
    playing,
    paused,
    onPlay,
    onPause,
  } = useRover({
    src,
    autoplay: true,
  });

  return (
    <div>
      <p>Loading: {loading ? 'true' : 'false'}</p>
      <p>Ready: {ready ? 'true' : 'false'}</p>
      <button onClick={onPlay}>Play</button>
      <button onClick={onPause}>Pause</button>
    </div>
  );
};
```

The library is fully open-source on [GitHub](https://github.com/leonardomso/roover) and we have a very clear documentation page where you can check it out and the use-cases and how to use the library properly.

Your contributions are welcome! If you have any questions or want to start to contribute to this library in any form, please open an issue. Feel free to open PR.
Introduction to open source security in the supply chain e-book
Tags: ebook, npm, javascript, opensource
Published: 2021-06-10 12:59:10

Would you like to better understand what it means for your business to use open source npm packages and need a good summer read? 📖 🌞 

It’s a simple fact that open source is everywhere and we all seem to have a never ending thirst for more of them.

So, questions do need to be raised on what controls are in place for the open source components your team are using. To aid that discussion we have just published an e-book called [Don’t be the weakest link in your software supply chain](https://bytesafe.dev/ebooks/weakest-link/).

[![Bytesafe E-book - Don't be the weakest link](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xh45cch272hoagqv4gns.jpeg)](https://bytesafe.dev/ebooks/weakest-link/)

## 📘 Book chapters
The book contains everything you need to know about controlling the open source code your business depends on, identifying the risks of the software supply chain and how to effectively manage them. 

![Bytesafe E-book - Don't be the weakest link Chapters](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b1fkykilfmtprice00li.png)

## 🚀 Bytesafe
[Bytesafe](https://bytesafe.dev) reduces the risk of businesses failing to keep track of components, their dependencies and open source licenses.

The Bytesafe team has extensive first-hand experience on the challenges companies face in highly regulated businesses when managing and deploying open source code. 

If you have any questions or feedback - just drop me a message. I would love to hear from you!



[Download our free e-book](https://bytesafe.dev/ebooks/weakest-link/)

[![Follow Bytesafe on Twitter](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/j3uehdo8j7i2g40bk382.png)](https://twitter.com/bytesafedev) <a href="https://www.producthunt.com/posts/bytesafe?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-bytesafe" target="_blank"><img src="https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=300547&theme=light" alt="Bytesafe - A better way to control your software supply chain | Product Hunt" style="width: 250px; height: 54px;" width="250" height="54" /></a>
How to use secure private npm registries
Tags: security, npm, javascript, devtools
Published: 2021-06-10 12:57:25

Working with open source npm packages is so fast and easy that security and control is often pushed to the infamous *"some other time"* -  or simply neglected.

> **But why?** There are solutions that add security with almost no effort and without impacting developer performance! Watch the video below to see how easy it is.

Risks associated with using open source npm packages should not be overseen and the number of threats in the ecosystem only increases (like the much discussed [dependency confusion](https://bytesafe.dev/posts/avoiding-dependency-confusion/)). Not to mention that the potential impact on your business is catastrophic. 

**To take back control** you should look into adding a private npm registry into your supply chain. And working with a private registry does not even have to impact your workflow. Simply configure the registry and use the private registry instead of using *registry.npmjs.org* directly.

**Here's a video** that shows you just how easy it is to work with secure private registries that are [secure by default](https://bytesafe.dev/posts/secure-solution-to-dependency-confusion/).

{% youtube JpctrWmVoFk %}

### **What is Bytesafe?**

_Want to block or quarantine packages that contain vulnerabilities? Need to make sure that your apps don’t depend on code that doesn't fulfill your business policies? Or maybe you’re looking for hosted secure private registries to be able to share packages and collaborate?_

_"Inga problem"_, as we say in Swedish = Not a problem.

[Bytesafe](https://bytesafe.dev/) is a devtool that makes life easier to trust code you are dependant on by:



*   **Controlling** what packages and dependencies are being used in applications and securing workflows for both internal and external packages
*   **Knowing** what security and open source license issues exist in the code you depend on so that they can be remediated
*   **Protecting** the business from unintended packages entering the software development lifecycle (dependency confusion) - working like a dependency firewall


[![Follow Bytesafe on Twitter](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/j3uehdo8j7i2g40bk382.png)](https://twitter.com/bytesafedev) <a href="https://www.producthunt.com/posts/bytesafe?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-bytesafe" target="_blank"><img src="https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=300547&theme=light" alt="Bytesafe - A better way to control your software supply chain | Product Hunt" style="width: 250px; height: 54px;" width="250" height="54" /></a>
4 Best FREE Resources for learning Linux Online
Tags: linux, showdev, webdev, programming
Published: 2021-06-10 12:56:08

It’s hard to pin down exactly how popular Linux is on the web, but recent studies estimate Unix and Unix-like operating systems power about 70% of all web servers.


At least half of those run Linux—and probably the vast majority.

If you are on a technology learning journey no matter if its back-end development, front-end or server admin it is a great skill to have know or at least have some basic knowlage around.

With over 10 years in the industry as a DBA and Sys Admin here are my top 4 resources for learning and mastering Linux/Unix.

# Introduction to Linux

https://www.edx.org/course/introduction-to-linux

# The “Start From Scratch” Linux Course

https://www.netacad.com/courses/os-it/ndg-linux-unhatched

# Linux Essentials

https://www.netacad.com/courses/os-it/ndg-linux-essentials

# Fundamentals of Red Hat Enterprise Linux

https://www.edx.org/course/fundamentals-of-red-hat-enterprise-linux

# BONUS – Shell Scripting

## Bash

https://www.linkedin.com/learning/learning-bash-scripting-2?trk=learning-serp_learning_search-card&upsellOrderOrigin=default_guest_learning

## Python
https://www.youtube.com/watch?v=rfscVS0vtbw&feature=emb_logo

What are your best learning resources for learning Linux? Please comment below.

If you like my articles please check out my [blog](https://pazikas.com/articles/) and follow me on [Twitter](https://twitter.com/PazyP) where I share most of my tips.