teleren/devto huggingface dataset:
Community GitHub Action that welcomes and logs stats from the community
Tags: actionshackathon, github, opensource
Published: 2020-09-18 00:41:28

---
title: Community GitHub Action that welcomes and logs stats from the community
published: true
description: My submission to the GitHub Actions x DEV Hackathon!
tags: actionshackathon, github, opensource
---

### My Workflow

[gh-action-community](https://github.com/EddieJaoudeCommunity/gh-action-community) is being used on all our community repositories to welcome and log statistics from the community so that we can give out digital badges. It is being used on our [support repo](https://github.com/EddieJaoudeCommunity/support/blob/main/.github/workflows/community.yml) as well as other repos in our community GitHub organisation https://github.com/EddieJaoudeCommunity

Everything is configurable from the reply messages to Issues and Pull Requests, to which events to log for gamification.

### Submission Category: 

I think this belongs in the `Maintainer Must-Haves` category, to be inclusive and gamify community contributions.


### Yaml File or Link to Code

{% github https://github.com/EddieJaoudeCommunity/gh-action-community %}


### Additional Resources / Info

{% github (https://github.com/EddieJaoudeCommunity/support %}

{% youtube 5ncuRFwnrdc %}
Automatically Pay Contributors in XRP via PayId
Tags: actionshackathon, python, payid, xrp
Published: 2020-09-18 00:39:33

### My Workflow
`payid_xrp_action` is an action that allows a repo owner to set up automatic payment to contributors for their commits. A contributor just needs to include a [PayId](https://payid.org) handle in their commit message and they will automatically be paid an amount set by the repo owner.

This action used the [Python Xpring SDK](https://github.com/thejohnfreeman/xpring-py) for making payments on the XRP Ledger. And uses [PayIDs](https://payid.org) to resolve payment addresses.

The action is published on the Github Actions marketplace at:

https://github.com/marketplace/actions/automatically-pay-contributors-in-xrp-via-payid

The repo owner puts their secret key to their XRP wallet in the Github secrets section in settings. They can also specify in their workflow an amount each PayId is paid, and a maximum amount to be paid out overall.

an example workflow:
```yaml
jobs:
  pay:
    runs-on: ubuntu-latest
    steps:

    - name: Checkout code
      uses: actions/checkout@v2

    - name: get commit message
      run: |
        echo ::set-env name=commit_log::$(git log --format=%B ${{ github.event.before }}..${{ github.event.after }})

    - name: Run PayID
      uses: hammertoe/payid_xrp_action@master
      with:
        commit_log: ${{ env.commit_log }}
        wallet_secret: ${{ secrets.PAYID_WALLET_SECRET }}
        amount: 1000000
```

It could easily be used as a more complex workflow that paid out based on more complex criteria, paying out based on:

- number of lines of code added
- number of lines of code removed ;)
- number of tickets this code addresses
- number of new test cases added
- percentage increase of code coverage of tests 

### Submission Category: 

**Maintainer Must-Haves** This action allows any repository owner to incentivise contributions to their codebase. 


### Yaml File or Link to Code

{% github hammertoe/payid_xrp_action %}

### Additional Resources / Info

A video of how quickly it is to add monetary rewards to your repo:

{% youtube eHxV2s6G5BM %}

A recording of the initial stages of development of this action is at:

https://cinnamon.video/watch?v=410918564657104239
Every developer is a potential writer
Tags: writing
Published: 2020-09-18 00:16:11

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/0y1hozv8v2qzm8d3oluv.jpg)

*Cuneiform writing System created by the Sumerians around 3,500 BC*

I like to think that just as the Sumerians in the ancient Mesopotamian civilization (present-day Iraq) revolutionized the way that society transmitted knowledge through the invention of writing, **programmers are also revolutionizing writing almost like the scribes of our time**.

With the inevitable insertion of technology in all areas of society, those who are programming are synthesizing in code the problems, solutions, desires, and limitations that we are experiencing.


Do you write? Have a blog? What about start writing now?
Arrays vs Linked Lists
Published: 2020-09-18 00:07:53

Data structures are a core concept in computer science, and knowing how to identify and utilize each system correctly is the difference between an engineer and a developer. Today I'll be comparing arrays and linked lists, two prevalent data structures.

##Similarities
* orders items sequentially
* flexible size (if array is dynamic)

##Differences
* arrays store items next to each other in memory while linked lists items aren't
* static arrays aren't flexible in size like linked lists are
* arrays are better for looking up items then linked lists are
* It's easier to perform operations on the ends of linked lists than it is on arrays
Block Hack Global. Bridging Blockchain and Entrepreneurship.
Tags: blockchain, beginners, career, webdev
Published: 2020-09-18 00:01:05

Hello Dev Community,

My name is Joseph, and I am the producer for the upcoming virtual hackathon, Block Hack Global. 

I want to invite you all to come and check out this hackathon with a twist. 

Block Hack Global is a 6-week virtual hackathon that begins October 5 - November 14. Our goal is to bring you a hackathon that bridges the gap between entrepreneurs and blockchain technology. Participants will have the opportunity to learn about the industry and apply their knowledge to create a product that might just get funded by VCs.


There will be a diverse selection of business and technical presentations and workshops. Topics range from blockchain basics to entrepreneurial strategies and will include hands-on exercises to practice with. We have partnered with accredited institutions like York University, George Brown, ICTC and more!


The top winners of the hackathon will stand to win the grand prize of up to $50k USD and bounty prizes to win! 


We are looking for talented individuals who have an entrepreneurial spirit who wants to create the next big thing in the Blockchain ecosystem. We are also accepting teams who have pre-revenue blockchain projects that want to improve their project through our hackathon and get more seed funding. 


A little introduction about the company I am involved in, Bitcoin Bay. Bitcoin Bay is a blockchain and crypto solutions company that has been active in the space since 2013. Based in Toronto, Bitcoin Bay is comprised of blockchain experts that specialize in consulting, product and dApp development, education and community engagement. 


If you want to know more about the hackathon, check out www.Blockhack.ca 

If you want to know more about the hosting company, Bitcoin Bay, check out our linkedin page, https://www.linkedin.com/company/bitcoinbay/


Thanks for your time! Let me know if you have any questions :)
LoginRadius Supports Hacktoberfest 2020
Tags: hacktoberfest, opensource, loginradius
Published: 2020-09-19 12:07:20

---
title: LoginRadius Supports Hacktoberfest 2020
published: true
date: 2020-09-18 00:00:00 UTC
tags: hacktoberfest,opensource,loginradius
canonical_url: https://www.loginradius.com/engineering/blog/loginradius-supports-hacktoberfest-2020/
---

Have you ever thought about what the world would be like if open-source didn't exist? It's hard to imagine a world without open source these days. Open source powers the biggest organizations of today's world. Open-source software like Linux runs most of today's servers and also…

   
[Read On](https://www.loginradius.com/engineering/blog/loginradius-supports-hacktoberfest-2020/)
How to download files from server to client using Node.js?
Tags: node
Published: 2020-09-18 00:00:00

---
  title: How to download files from server to client using Node.js?
  published: true
  tags: Nodejs
  date: Fri Sep 18 2020 05:30:00 GMT+0530 (India Standard Time)
  canonical_url: https://melvingeorge.me/blog/download-files-server-client-nodejs
  cover_image: https://melvingeorge.me/_next/static/images/main-61e6289a39bde6f6796a82aef8e46903.jpg
  ---
  [Originally posted here!](https://melvingeorge.me/blog/download-files-server-client-nodejs)
  
To download files from a Node.js server to a client, you have to read the file and set the response header `Content-Disposition`.

Let's say we have a PDF named `resume.pdf` in a directory called `docs` and we want to download that PDF whenever the user goes to `/resume` endpoint.

Let's write the code for that. 🦄

First create a read stream to read the file like this,

```javascript
// filesystem module
const fs = require("fs");

// endpoint for /resume
app.get("/resume", (req, res) => {
  const rs = fs.createReadStream("./docs/resume.pdf");
});
```

After that, set the `Content-Disposition` response header and give the value as `attachment; filename=nameOftheFileYouWant.pdf`. This tells the user's browser that this is an attachment that needs to download it.

```javascript
// filesystem module
const fs = require("fs");

// endpoint for /resume
app.get("/resume", (req, res) => {
  // create read steam for the pdf
  const rs = fs.createReadStream("./docs/resume.pdf");

  // set response header: Content-Disposition
  res.setHeader("Content-Disposition", "attachment; john-resume.pdf");
});
```

After setting the header all you have to do is pipe the read stream to the `Response` object `res` using the `pipe()` method like his,

```javascript
// filesystem module
const fs = require("fs");

// endpoint for /resume
app.get("/resume", (req, res) => {
  // create read steam for the pdf
  const rs = fs.createReadStream("./docs/resume.pdf");

  // set response header: Content-Disposition
  res.setHeader("Content-Disposition", "attachment; john-resume.pdf");

  // pipe the read stream to the Response object
  rs.pipe(res);
});
```

### If you are using Express.js, you can use the `res.download()` method and pass the file path as the argument to it like this.

```javascript
// filesystem module
const fs = require("fs");

// endpoint for /resume
app.get("/resume", (req, res) => {
  // express.js
  res.download("./docs/resume.pdf");
});
```

### Feel free to share if you found this useful 😃.

---
Ready to use, Rock solid auth system for your frontend.
Tags: express, node, mongodb, passport
Published: 2020-09-17 23:49:13

long time no see. お久しぶりです。🤦‍♂️
Sorry for that, すみません。🤷‍♂️
Well this time i am giving you my rock solid auth system built up using nodejs, express, mongodb as database, joi as validation, password and jwt for token side work.🤖

this is ready to use and tested on my react based client. i am putting the link for both the repo, please go, check and use it and make some good PR if you can. don't forget to follow and leave a star on github. and here as well.❤👏👍

in future i will continue to provide the my custom built repos like this. recently i am working on graphql based auth system will post that also soon. and there is also react-native project is also in queue. so there will be so much learn from now. 😎✔

i am planning to post all this on youtube as well so it will be more useful for all you. and i will be able to help a bit more there.🎉🎉👀🤞

[MERN_AUTHENTICATION_BACKEND](https://github.com/Meenachinmay/mern_authenticaion)
[MERN_AUTHENTICATION_FRONTEND](https://github.com/Meenachinmay/mern_auth_client)

in this mern_auth_frontend i have also added an automatic logout feature. please checkout and make it more attractive.😎🎆

Thank you, and see you next time. 🎉
This Week in Commits History (GitHub Action)
Tags: github, actionshackathon
Published: 2020-09-17 23:25:55

---
title: This Week in Commits History (GitHub Action)
published: true
description: 
tags: github, actionshackathon
//cover_image: https://direct_url_to_image.jpg
---

My idea was to have something like Facebook's "On this day" or Snapchat's Memories from today and apply it to a repository. So I started working on this action "Week-History-Action." I figured doing it every day would be another daily spam, so I went along with doing it weekly.

This action gathers the commits applied to the repo every week and packages them in an email. Every Monday, at 7 AM, the cron job runs, leveraging GitHub's API; every commit from the current date until seven days from now in history gets collected.

So let's say your repository is two years old and today is Monday, 17th Sept 2020. The action will find commits from 17th Sept 2019 to 23rd Sept 2019 and 17th Sept 2018 to 23rd Sept 2018. All the commits fitting the timeframe will get sent to the interested users via email. For email, I'm using NodeMailer. Currently, the committer's name, email, and date are gleaned along with the commit message.

This action is still a work in progress. The initial goal was to complete it by 17th Sept 2020, the deadline of the GitHub Actions Hackathon on DEV.

Unfortunately, due to numerous reasons, this is not complete. I'm merely sharing here for some thoughts from the community. During the development, I realized this might not be a useful action, so I would like to know if someone is interested in developing this with me going forward. This is the repo for those who are interested:

{% github aliahsan07/Week-History-Action %}

The features are incomplete that will be implemented in the coming days, to name a few:
- The email template to send has to be crafted, it's currently rudimentary, and I had trouble setting up a nice HTML table. 
- Configurable options i.e, to limit the number of commits the user gets, if plentiful commits were made in a week might not be wise to send everyone in the mailbox. Also, a notion of "useful" commit would be beneficial so that only the most important commits are sent. 
- It's not runnable as of yet; I encounter this issue today:
```
! [remote rejected] main -> main (refusing to allow an OAuth App to create or update workflow `.github/workflows/main.yml` without `workflow` scope)
``` 
This also needs to be addressed. 

Its a bummer I couldn't complete the action, but I'm glad I got to work on an action and understand what's going on behind the hook. (Lesson learned: Just start early from next time.)
Test Post (Checking formatting)
Tags: swift
Published: 2020-09-17 23:16:00

This is a test post!

Here's a code block with Swift formatting...
```swift
for x in 1...5 {
    print(x)
}
```
Here's a code block with no formatting specified...
```
for x in 1...5 {
    print(x)
}
```

That's all, folks!
GitHub Actions Hackathon: json to html table
Tags: actionshackathon, github, opensource
Published: 2020-09-17 23:08:09

---
title: GitHub Actions Hackathon: json to html table
published: true
description: My submission to the GitHub Actions x DEV Hackathon!
tags: actionshackathon, github, opensource
cover_image: https://user-images.githubusercontent.com/624760/91109172-0f905980-e672-11ea-8126-16276c821914.png
---

### My Workflow

This GitHub Action creates a `html` table in your README.md from a `json` file.

[gh-actions-html-table-generator](https://github.com/EddieJaoudeCommunity/gh-actions-html-table-generator) is being used on [awesome-github-profiles](https://github.com/EddieJaoudeCommunity/awesome-github-profiles) where from a `json` file, it generates a customisable and configurable `html` table.

![example html table](https://user-images.githubusercontent.com/624760/91109172-0f905980-e672-11ea-8126-16276c821914.png)

### Submission Category: 

This is a `Maintainer Must-Haves` utility. Not having to worry about changing the number of columns or cell layout. With a simple GitHub Action configuration, the Action will regenerate the `html` table for any `json` data structure

### Yaml File or Link to Code

GitHub Action...

{% github https://github.com/EddieJaoudeCommunity/gh-actions-html-table-generator %}

### Additional Resources / Info

Used on this repo...

{% github https://github.com/EddieJaoudeCommunity/awesome-github-profiles %}

GitHub Actions video, from what is GitHub Actions all the way to customising your own with Javascript 

{% youtube 5ncuRFwnrdc %}
Show and Tell: Show off your PowerShell Profile :)
Tags: discuss, beginners, productivity, powershell
Published: 2020-09-17 22:52:59

Hey DEV community 👋

I was inspired by the post about [VS Code](https://dev.to/danielw/show-and-tell-show-off-your-vs-code-setup-47be) setups and decided to create one for PowerShell profiles.

I'm in the process of converting my [PowerShell profile](https://github.com/tseknet/tsekprofile) to a fully-featured PowerShell module that I'll publish on the PSGallery.

I'd love to see how everyone's making the most of their PowerShell profile :)

From pretty themes and icon sets to your favorite modules for productivity and simplicity.
Planning meetings are an exercise in futility.
Tags: productivity
Published: 2020-09-17 22:33:40

When sprint planning was first proposed software development cycles were measured in quarters or years. In that environment getting together to plan once every few weeks made a lot of sense, as the environment the software lived in wouldn’t be likely to change in that time.

That’s just not the case anymore, especially for online platforms. Software is deployed in weeks, or in some shops hours. 

**Creating a development plan for a fast release cycle costs too much.**

Sprint planning is a significant investment of time and energy. The meeting requires everyone to get together for at least an hour, usually more. In order to make that investment pay off you have to speed up delivered software development by at least as many man hours. The shorter the sprint, the worse this ratio gets, and your process overhead goes through the roof.
 
**Plans are unlikely to survive, even if sprints are short.**

Traditional agile process has been a victim of its own success. Software delivery speed has gone up, and customers are no longer willing to wait months for a fix or for critical features to be developed. This means that whatever plans you make are increasingly likely to be interrupted by business needs. “Blowing up a sprint” isn’t a big deal if it happens once every few months, but it’s now happening all the time. 

**A better way is needed**

Instead of trying to decide what’s getting done all at once, planning needs to happen all the time. Instead of building a backlog, when a story is created it is directly assigned to a developer, and the entire team weighs in on whether it should be done. Developers in turn, only start stories that their team considers worthy. When a story is blocked, before work starts again it must be considered alongside the new tasks that have arrived.
In other words, there’s no such thing as ‘blowing up the plan” only a succession of stories that are worth working on right now.

Enabling such a process is one of the goals of Uclusion, and we hope you’ll give it a try.
Monitoring a Netflix migration, legacy code costs trillions, and accelerating JS in the browser
Tags: performancematters, performance, monitoring, javascript
Published: 2020-09-17 22:25:05

Hi folks, 

Welcome to Performance Matters. This week, Raygun partnered with Octopus Deploy to deliver a webinar on monitoring deployments for performance issues. If you missed it, keep your eye out next week for the recording! 

For this edition, we're exploring what performance means in the context of large-scale software projects like legacy systems and migrations. We've also got a few interactive articles — a JavaScript performance roadmap and a fun tech quiz. 

Enjoy! 

Your Curator 

------------------------------

### FEATURED ARTICLES

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

<strong>Accelerating JavaScript in the browser</strong>

Jonathan Dinu shares a roadmap for squeezing as much performance out of JavaScript as possible. This guide covers the various options of leveraging browser native APIs/technologies to accelerate JavaScript execution.

[A roadmap for speeding up JS](https://hyphaebeast.club/writing/accelerating-js)

------------------------------

<strong>From monolith to microservice</strong>

Netflix's Android engineers now have much more control and observability over how they get their data. 

[Read the blog](https://netflixtechblog.com/seamlessly-swapping-the-api-backend-of-the-netflix-android-app-3d4317155187)

------------------------------

<strong>Legacy systems cost trillions</strong>

The pandemic has exposed government’s dependence on ageing legacy IT systems.

[Learn more](https://spectrum.ieee.org/computing/it/inside-hidden-world-legacy-it-systems)

------------------------------

### BUG OF THE WEEK

<strong>Beaucoup bugs beset this month’s Windows patches</strong>

July and August had relatively stable Patch Tuesdays. Not so, in September. Here’s the tip of the iceberg – the bugs that cropped up within a day of release.

[Find out what happened](https://www.computerworld.com/article/3574849/beaucoup-bugs-beset-this-months-windows-patches.html)

------------------------------

### COMMUNITY

<strong>The ultimate Techade quiz from Pluralsight</strong>

A "near-impossible" guessing game of tech through the decades. Try this tech trivia game and label what you see. 

[Collaboration encouraged](https://techadequiz.com/)

------------------------------

If you think Performance Matters is pretty great, why not [sign up](https://performancematters.dev/) to receive it in your inbox every week? 🙌

------------------------------

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

------------------------------
A Litmus Test for CircleCI
Tags: github, devops, actionshackathon
Published: 2020-09-17 21:49:10

With the _new hotness_ that is Github Actions taking off, some of you with existing CI workflows have likely wondered if you should migrate.  I recently investigated this, and while I'll spare you all the nuanced details, I will share the simple litmus test I came up with for picking between the two:

> Does your team use more than 2,000 _minutes per user, per month_ on CI?

If you answered **Yes** to the question above, then CircleCI is still the more valuable choice for your CI workflows, as it provides more robust computing resources & optimization methods that Github Actions doesn't.  

For anything less than 2,000 minutes/user/month, go with Github Actions.  

![Alt text of image](https://media.giphy.com/media/l2Ject9fem5QZOyTC/giphy.gif)
Day 219: Radio Daze
Tags: hiphop, code, coding, lifelongdev
Published: 2020-09-17 21:38:16

_liner notes_:
- Professional : Pretty productive day.Had a bunch of meetings. Good to see everyone. Also, refactored my Web Component to be able to add custom keys to the keypad. Going to need that functionality for my next blog post. Also worked on the script for recording a video.

- Personal : Last night, I was able to get the recording of the radio edited and submitted to the station to be played on air this weekend. Also went through some tracks submitted for this week's show. I was in a radio daze. haha Ordered some products that will be delivered in a couple of days. Also got the video section of the side project working. I forgot that sometimes there were multiple videos, so I had to make a video carousel component. Basically reused the carousel component for events, but ran into a layout issue with using flexbox and absolute positioning of the YouTube video embed to make it responsive. Just replaced it with CSS Grid, done.

![View from an edge of a lake in Hector Lake, AB, Canada with the other side of the lake surrounded by a forest and mountains in the distance](https://dev-to-uploads.s3.amazonaws.com/i/nklj6wsqxzkm21omwg1z.png)

Going to work on the layout of the event details and map sections. If I have time, I want to go through more tracks for the radio show. Pretty sure that will keep me busy for the rest of the night.

Have a great night!

peace piece
Dwane / conshus
https://dwane.io / https://HIPHOPandCODE.com
{% youtube G0TIoXbJOYc %}