teleren/devto huggingface dataset:
I reported a security vulnerability. Now what?
Tags: security
Published: 2018-10-03 01:30:49

---
title: I reported a security vulnerability. Now what?
published: true
description: 
tags: security
---

I recently discovered a vulnerability for the first time. I found the product's security contact and sent some information. Ideally they will respond acknowledging the issue and provide a timeline for a patch.

What if that doesn't happen? How long is appropriate to wait before following up? When do you promise public disclosure? What if they disagree that it is a vulnerability?

Is there a guide for reporting vulnerabilities somewhere? I thought I'd be able to find one but I wasn't able to. A resource like that would be handy.
Hacktoberfest (and a new TwilioQuest mission) is here!
Tags: hacktoberfest, opensource
Published: 2018-10-03 00:40:59

---
title: Hacktoberfest (and a new TwilioQuest mission) is here!
published: true
tags: hacktoberfest, open source
canonical_url: https://www.twilio.com/blog/hacktoberfest-and-new-twilioquest-mission-here
cover_image: https://s3.amazonaws.com/com.twilio.prod.twilio-docs/images/hacktoberfest-2018-social-card-c8d2e1489f647f2.width-808.png
---

This year marks the fifth year of [Hacktoberfest](https://hacktoberfest.digitalocean.com/), a monthly-long celebration of open source software run by [DigitalOcean](https://www.digitalocean.com/). We’re excited to be a part Hacktoberfest this year to welcome everyone already in the open source software community, and anyone who is interested in diving in. The best part: **you get a FREE t-shirt by participating**!  
  
To help anyone who may be new new open source, we built a [brand-new TwilioQuest mission](https://www.twilio.com/quest/mission/28) to help developers learn the basics of contributing to open source projects hosted on GitHub. With this tool, you can learn basic git commands and workflows necessary to submit code contributions to a repository.

Participants in previous Hacktoberfest events have represented 119 countries and thousands of skill sets. Whether you’re a seasoned contributor or looking for projects to contribute to for the first time, you’re welcome to participate.

Ready to get started? Here are the participation details:

- **Hacktoberfest is open to everyone** in the global community. Whether you’re a seasoned contributor or looking for projects to contribute to for the first time, you’re welcome to participate.
- **Pull requests can be made in any GitHub-hosted repositories/projects.** As long as the project is public and GitHub-hosted, your PRs will count towards your participation
- **You can sign up anytime between October 1 and October 31**. Just be sure to [sign up on the official Hacktoberfest website](https://hacktoberfest.digitalocean.com/sign_up/register) for your PRs to count.
- **To get a shirt, you must make five pull requests (PRs) between October 1–31 in any timezone.** PRs can be to any public repo on GitHub, not just the ones highlighted. The PR must contain commits you made yourself. PRs reported by maintainers as spam or that are automated will be marked as invalid and won’t count towards the shirt.

Happy hacking, we can’t wait to see what you build!
What made you ✍🏻 your first post here? 🤔
Tags: discuss, writing, motivation
Published: 2018-10-03 00:10:50

---
title: What made you ✍🏻 your first post here? 🤔
published: true
description: Everyone has a story to tell, whether it's a victory or a failure, we can all learn from all our experiences.
tags: discuss, writing, motivation
cover_image: https://thepracticaldev.s3.amazonaws.com/i/anr2191nc9vnxje4qq1m.jpeg
---

Whenever a friend of mine is interested in dev.to I tend to encourage them to come give it a try for a bit and even start writing, but most people think about it for a second and then say:

> _"I just don't know what to write about, I'm not that great."_ <br> - Someone Who Talks In _Italic_.

So, what made you take that first step? Maybe your reason might make sense to others that are still on the fence.
Use custom pipeable operator on redux-observable
Tags: rxjs, reduxobservable, typescript, javascript
Published: 2018-10-02 23:55:41

---
title: Use custom pipeable operator on redux-observable
published: true
description: 
tags: RxJS, redux-observable, typescript, javascript
---

We can create custom operator easiliy on RxJS

https://github.com/ReactiveX/rxjs/blob/master/doc/pipeable-operators.md#build-your-own-operators-easily

## Use with redux-observable

For example, we sometimes use `tap` and `ignoreElements` for debug.

```ts
export const pingEpic = (action$) =>
  action$.pipe(
    ofType("PING"),
    tap(console.log),
    ignoreElements()
  )
```

This convert to this.

```ts
const debug = () => <T>(source: Observable<T>) =>
  source.pipe(
    tap(console.log),
    ignoreElements()
  )

export const pingEpic = (action$) =>
  action$.pipe(
    ofType("PING"),
    debug()
  )

```

If you need custom tap function, you can use arguments

```ts
const debug = (tapFn = console.log) => <T>(source: Observable<T>) =>
  source.pipe(
    tap(tapFn),
    ignoreElements()
  )

export const pingEpic = (action$) =>
  action$.pipe(
    ofType("PING"),
    debug(item => console.log("This is DEBUG => ", item))
  )
```
How to Install and configure SonarQube with SonarScanner for generating sonar Report for your…
Published: 2022-06-28 15:41:33

---
title: How to Install and configure SonarQube with SonarScanner for generating sonar Report for your…
published: true
date: 2018-10-02 18:41:59 UTC
tags: 
canonical_url: https://blog.nandankumar.info/how-to-install-and-configure-sonarqube-with-sonarscanner-for-generating-sonar-report-for-your-2622c777bf77
---

1. Steps to Install SonarQube :

\* Go to [https://www.sonarqube.org/downloads/](https://www.sonarqube.org/downloads/) and click Download LTS

\* Once download is complete, Unzip your sonar file in your C or D drive.

\* Go to {Your root path}\sonarqube-6.7.1\bin\windows-x8664 and click . on StartSonar.bat file.

It will start a Sonar server at localhost:9000 , You can login to your Sonar with following preset credentials.  
 username : admin  
 password : admin

2. Steps to Install Sonar-scanner :

\* Go to  
 [https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner](https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner) and click Windows 64 bit.

\* Once download is complete, Unzip the file and save it to your C or D drive.

\* You can set path variable for Sonar-scanner by adding **{Your root path}\sonar-scanner\bin** to your path

3. Steps to Generate sonar Report:

\* Go to Your projects root directory.

\* Execute the following command.

sonar-scanner -D sonar.projectKey="YOUR SONAR PROJECT KEY" -D sonar.sources=."PATH TO YOUR JAVASCRIPT SOURCE FOLDER" -D sonar.host.url=http://localhost:9000

4. Configuring Your javascript Quality profile:

\* Once You are logged In, Click On Quality Profiles and then click dropdown button next to create.

\* Click Restore Profile and the import your custom JavaScript-profile XML, Browse the javascript profile & upload it.

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1653045730008/rXttQs3zR.png)
How's my portfolio page?
Tags: webdev, portfolio, javascript
Published: 2018-10-02 21:29:18

---
title: How's my portfolio page?
published: true
description: Three files; index.html, index.js, index.css. Used only jQuery/jqueryUI
tags: #webdev #portfolio #javascript
---
Hey guys,

So I wanted to make a portfolio website from scratch.  I joined a coding bootcamp (The Flatiron School), which was an excellent idea, but the emphasis was really on Ruby/JS and React/RoR.  We touched briefly on HTML/CSS but for someone who is literally brand new to programming and web dev, HTML/CSS was as foreign as anything else and probably needed just as much as attention as the other content (at least for me).

So, while knowing that, I figured why not build a website from scratch using my own layout.  Anyway, here is my site.

Let me know what you think!

http://www.tylerpulse.com/
Barcode detection in a Web Worker using Comlink
Tags: pwa, camera, qrcode
Published: 2019-04-12 11:09:16

---
title: Barcode detection in a Web Worker using Comlink
published: true
tags: pwa, camera, qrcode
canonical_url: https://paul.kinlan.me/barcode-detection-in-a-web-worker-using-comlink-/
---

I’m a big fan of QRCodes, they are very simple and neat way to exchange data between the real world and the digital world. For a few years now I’ve had a little side project called [QRSnapper](https://qrsnapper.com) — well it’s had a few names, but this is the one I’ve settled on — that uses the `getUserMedia` API to take live data from the user’s camera so that it can scan for QR Codes in near real time.

The goal of the app was to maintain 60fps in the UI and near instant detection of the QR Code, this meant that I had to put the detection code in to a Web Worker (pretty standard stuff). In this post I just wanted to quickly share how I used [comlink](https://github.com/GoogleChromeLabs/comlink) to massively simplify the logic in the Worker.

#### qrclient.js

```
import * as Comlink from './comlink.js';

const proxy = Comlink.proxy(new Worker('/scripts/qrworker.js')); 

export const decode = async function (context) {
  try {
    let canvas = context.canvas;
    let width = canvas.width;
    let height = canvas.height;
    let imageData = context.getImageData(0, 0, width, height);
    return await proxy.detectUrl(width, height, imageData);
  } catch (err) {
    console.log(err);
  }
};

```

#### qrworker.js (web worker)

```
import * as Comlink from './comlink.js';
import {qrcode} from './qrcode.js';

// Use the native API's
let nativeDetector = async (width, height, imageData) => {
  try {
    let barcodeDetector = new BarcodeDetector();
    let barcodes = await barcodeDetector.detect(imageData);
    // return the first barcode.
    if (barcodes.length > 0) {
      return barcodes[0].rawValue;
    }
  } catch(err) {
    detector = workerDetector;
  }
};

// Use the polyfil
let workerDetector = async (width, height, imageData) => {
  try {
    return qrcode.decode(width, height, imageData);
  } catch (err) {
    // the library throws an excpetion when there are no qrcodes.
    return;
  }
}

let detectUrl = async (width, height, imageData) => {
  return detector(width, height, imageData);
};

let detector = ('BarcodeDetector' in self) ? nativeDetector : workerDetector;
// Expose the API to the client pages.
Comlink.expose({detectUrl}, self);

```

I really love Comlink, I think it is a game changer of a library especially when it comes to creating idiomatic JavaScript that works across threads. Finally a neat thing here, is that the native Barcode detection API can be run inside a worker so all the logic is encapsulated away from the UI.

[Read full post](https://github.com/PaulKinlan/qrcode/blob/production/app/scripts/qrworker.js).
How Specific Are you With Your Imports and Why?
Tags: discuss, python, oop, libraries
Published: 2018-10-02 19:31:49

---
title: How Specific Are you With Your Imports and Why?
published: true
description:  What are you package importing habits?
tags: #discuss #python #OOP #libraries
---

Hey all! I am curious as to how the rest of the community imports their dependencies and why they choose to do it that way. 

For instance, I generally find myself either bring in the library itself eg `import pandas as pd` or a class within the library eg ` from requests import Session`. This has always worked for me, but I've heard others swear that you should only import the methods or functions you need for performance and/or security reasons.

So how do you bring in dependencies that you need and what is your reasoning behind doing it that way??
3 coding habits to unblock yourself (Part 1)
Tags: habits, unblock, consolelog
Published: 2018-10-02 19:05:21

---
title: 3 coding habits to unblock yourself (Part 1)
published: true
description: 
tags: #habits #unblock #consolelog
---

What is up fellow coder. 
Thank you for checking out my thoughts on some good habits that helped me get passed many coding road block efficiently.

*Quick Disclaimer: I'm currently 2 months into a coding boot-camp, but am confident this could help others like myself to unblock from a beginner perspective.* 

Lets get right into it!


## CONSOLE LOG !!

You've probably been told by a professor or an instructor many times on how console logging is really important to figure out bugs and issues. But to be honest I was brushing off this approach early in my brief coding "career", only because I was more focused on learning functions, queries, and tons of coding concepts (you know the meat and potatoes). Which is of course important in their own rights. And perhaps, I could even say the route I took was the right route when one begins their coding journey.     

(Big BUT Alert!) 

But, I am here to say once you do get comfortable with the syntax and concepts of any language, console log should be the next thing you need to master. Seriously I actually didn't realize this my self until recently. 
Actually, let me describe to you what my thought process in coding before understanding the magic of console log.


#When facing a problem **before** console log

1. Google the problem. 
2. Look at past activities. 
3. Ask my friend Matt (a classmate who sits next to me).
4. Start doubting my life choices. 
5. Carefully read through every line in my code for spelling errors :'(
6. Ask my instructor for help.




#When facing a problem **after** console log

1. Run my code with a console log, receive a error message.
2. Read the error message. 
3. Fix the code where the error message said it was located.  

Of course it not as simple but that's basically the main idea. 

To my point, any new developer would prefer the latter. But like I stated earlier (at least for me), if I'm not comfortable with knowing the fundamentals and concepts of a language first, trying to console log everything would be less effective in my opinion. Since I wouldn't know what/where to console log.    

Thus, with that being said once you do feel like you grasp the fundamentals and concepts, try to master the art of console log next it is one of the best ways to hurdle through any coding roadblock.  


I hoped that was helpful 

(Part 2 coming soon)
Easily Copy Objects and Arrays from Chrome's Console
Tags: webdev, chrome
Published: 2018-10-02 19:01:41

---
title: Easily Copy Objects and Arrays from Chrome's Console
published: true
description: Quickly and easily copy data, like objects and arrays, from Chrome's DevTools Console.
tags: webdev, chrome
---

When we `console.log()` some data that's in the form of an object or an array, it's hard to copy and paste the results from Chrome's console. If you try and highlight what's there, you'll just end up with something like `Array(3)` when you paste, instead of the actual data.

I just learned this easy method of copying things out of Chrome's console.

When you see the data in the console, right click on it to store as global variable.

<img src="https://content.screencast.com/users/hunter1291/folders/Jing/media/b941542b-cd4b-4b56-b207-11a194c861e5/00000543.png" alt="">

Chrome will store it as a temporary variable called `temp1`

<img src="https://content.screencast.com/users/hunter1291/folders/Jing/media/41440fc3-50e1-4d38-b791-3744ac4f50ae/00000542.png" alt="">

Once you have your variable, just use the `copy()` function.

```
copy(temp1)
```

Hit enter and you'll see `undefined` right below it, which is normal.

<img src="https://content.screencast.com/users/hunter1291/folders/Jing/media/6580041f-c227-4413-a191-779d04dff29d/00000544.png" alt="">

Now you'll have all the data in your clipboard, just paste it anywhere you like!

```
[
  {
    "data": "data for res #1"
  },
  {
    "data": "data for res #2"
  },
  {
    "data": "data for res #3"
  }
]
```
Is there a way to edit dev.to post directly on VSCode?
Tags: discuss, vscode, enhancement, meta
Published: 2018-10-02 18:43:20

---
title: Is there a way to edit dev.to post directly on VSCode? 
published: true
description: 
tags: discuss, vscode, enhancement, meta 
---

Dev.to editor it's good but needs jump between help, markdown, and preview "tabs". 

I like the way that VSCode handles editing files on MarkDown and the ability to see a preview at the side.

It's there a way to activate these powers on the web or edit directly on VSCode?

Will be good if can download something like repo and can make commits 😀
Android Devices Being Shipped with TCP Port 5555 Enabled
Tags: android, securiy, mobile, cyberattacks
Published: 2018-10-02 18:13:02

---
title: "Android Devices Being Shipped with TCP Port 5555 Enabled"
published: true
description: "Some Mobile devices are shipped from factory with ADB enabled. Is yours one of them?"
tags: "android,securiy,mobile,cyberattacks"
---

As per [this article](https://www.securityweek.com/many-android-devices-ship-adb-enabled) some Android devices are being shipped from factory with the Android Debug Bridge(ADB) enabled.

For the ones not aware of what is *ADB*, try to think of it as the shell for Android devices, that lets anyone execute commands and install whatsoever they want, thus allowing them to take full control of the device without the need to authenticate. 

*ADB* was supposed to only work when connected to a computer via usb port, but as the security researcher [Kevin Beaumont discovered](https://doublepulsar.com/root-bridge-how-thousands-of-internet-connected-android-devices-now-have-no-security-and-are-b46a68cb0f20) the *ADB* is listening on tcp port 5555, thus anyone from internet can access it and take over your Phone, Tablet, TV or any other Android enabled device.

This exploit allows an attacker to perform all kinds of stuff, like crypto currency mining, stealing credentials, ransomware, espionage on what you are doing, etc.

As an example among others we have [Hide 'N Seek IoT Botnet](https://www.securityweek.com/hide-n-seek-iot-botnet-now-targets-android-devices) targeting Android devices by leveraging this *ADB* flaw.

What are your thoughts on this *ADB* exploit?


# EDIT

It seems that the article I linked from the security researcher Kevin Beaumont is misleading in how *ADB* works on an Android device as pointed out in the comments.

Please read [this article](https://dev.to/subbramanil/understanding-android-device-bridge-3i2c) from [Subbu Lakshmanan](https://dev.to/subbramanil) as a reply to my article and to know in more detail how *ADB* and is security model works.
React-Redux Minesweeper game 
Tags: game, beginners, react, redux
Published: 2018-10-02 18:07:53

---
title: React-Redux Minesweeper game 
published: true
description: The minesweeper web game made with react-redux.
tags: game, beginners, react, redux
---

A simple game to get acquainted with react-redux, you can play online here:  [https://jaumesegarra.github.io/minesweeper](https://jaumesegarra.github.io/minesweeper)

And of course view the code here:  [https://github.com/jaumesegarra/minesweeper](https://github.com/jaumesegarra/minesweeper) 

![Screenshoot](https://thepracticaldev.s3.amazonaws.com/i/63ohzn5cp1alc4o2k354.png)
NgRx Authentication Tutorial
Tags: angular, javascript, ngrx, reactiveprogramming
Published: 2018-10-02 17:34:17

---
title: NgRx Authentication Tutorial
published: true
description: Learn how to use CLI schematics, effects, Auth0, and more to secure your NgRx application.
tags: #angular #javascript #ngrx #reactiveprogramming
canonical_url: https://auth0.com/blog/ngrx-authentication-tutorial/
---

In this article, we’ll get a quick refresher on NgRx basics and get up to speed on more features of the NgRx ecosystem. We'll then walk through how to add authentication to an NgRx app. 

[Read on 🐟](https://auth0.com/blog/ngrx-authentication-tutorial/?utm_source=dev&utm_medium=sc&utm_campaign=ngrx_auth)

![NgRx Authentication Tutorial](https://thepracticaldev.s3.amazonaws.com/i/ifh3zt02gig23k0gr1wq.png)
Running FFMPEG with WASM in a Web Worker
Tags: ffmpeg, comlink, webworker
Published: 2019-04-12 11:12:55

---
title: Running FFMPEG with WASM in a Web Worker
published: true
tags: ffmpeg, comlink, web worker
canonical_url: https://paul.kinlan.me/running-ffmpeg-with-wasm-in-a-web-worker/
---

I love [FFMPEG.js](https://github.com/Kagami/ffmpeg.js), it's a neat tool that is compiled with asm.js and it let's me build JS web apps that can quickly edit videos. FFMPEG.js also works with web workers so that you can encode videos without blocking the main thread.

I also love [Comlink](https://github.com/GoogleChromeLabs/comlink). Comlink let’s me easily interact with web workers by exposing functions and classes without having to deal with a complex `postMessage` state machine.

I recently got to combine the two together. I was [experimenting getting FFMPEG exported to Web Assembly](https://github.com/PaulKinlan/ffmpeg.js/tree/wasm) (it works - yay) and I wanted to clean up all of the postMessage work in the current FFMPEG.js project. Below is what the code now looks like - I think it’s pretty neat. We have one worker that imports ffmpeg.js and comlink and it simply exposes the ffmpeg interface, and then we have the webpage that loads the worker and then uses comlink to create a proxy to the ffmpeg API.

Neat.

**worker.js**

```javascript
importScripts('https://cdn.jsdelivr.net/npm/comlinkjs@3.0.2/umd/comlink.js');
importScripts('../ffmpeg-webm.js'); 
Comlink.expose(ffmpegjs, self);
```

**client.html**


```javascript
let ffmpegjs = await Comlink.proxy(worker);
let result = await ffmpegjs({ 
    arguments: ['-y','-i', file.name, 'output.webm'], 
    MEMFS: [{name: file.name, data: data}], 
    stdin: Comlink.proxyValue(() => {}), 
    onfilesready: Comlink.proxyValue((e) => { 
      let data = e.MEMFS[0].data; 
      output.src = URL.createObjectURL(new Blob([data]));
      console.log('ready', e) 
    }), 
    print: Comlink.proxyValue((data) => { 
      console.log(data); stdout += data + "\n"; 
    }), 
    printErr: Comlink.proxyValue((data) => { 
      console.log('error', data); stderr += data + "\n"; 
    }), 
    postRun: Comlink.proxyValue((result) => { 
     console.log('DONE', result); 
    }), 
    onExit: Comlink.proxyValue((code) => { 
     console.log("Process exited with code " + code); 
     console.log(stdout); 
    }),
  });
```

I really like how Comlink, Workers and WASM compiled modules can play together. I get idiomatic JavaScript that interacts with the WASM module directly and it runs off the main thread.

[Read full post](https://github.com/PaulKinlan/ffmpeg.js/blob/wasm/examples/async.html).