teleren/devto huggingface dataset:
Gitcoin + Chainlink: Bug Bounty Program
Tags: blockchain, security
Published: 2020-08-14 22:38:33

We are proud to announce that we have teamed up with [Chainlink](https://chain.link) to launch a new bug bounty program to help further secure the now widely used Chainlink protocol for decentralized oracles. Chainlink is the market-leading decentralized oracle network that is powering much of the DeFi ecosystem.

This bug bounty program is being funded by the [Chainlink Community Grant Program](https://blog.chain.link/introducing-the-chainlink-community-grant-program/), with over $100k in LINK tokens already being sent into Gitcoin, all of which are ready to be paid out to whitehat hackers and anyone else interested in helping secure Chainlink. 

By working closely with us and the open-source development community, Chainlink is looking to ensure the smart contract economy as a whole is powered by oracles that are as maximally tamper-resistant and secure as possible. This initial grant program is just the beginning as Chainlink plans to scale up their bug bounty over time by continuing to offer more grants paid in LINK to give back to the community supporting them.

For those not familiar with Chainlink, it is a generalized framework for building decentralized oracle networks that grant smart contracts access to secure and reliable data inputs and outputs such as market data, web APIs, payment systems, and more. Chainlink’s [Price Reference Feeds](feeds.chain.link) have become the go-to resource of market data that is currently securing many leading DeFi products. 

![Gitcoin Chainlink](https://lh6.googleusercontent.com/OQbjuXaYg7RTrJUIb1T1pxOmaD8TR15HgQS0c0pEum-95ZTmqvy1T5pdqdQwt2YV5SSARlLMkDJkhNc9PPUMNuI-OEGpOEcRiIP1bvNKslQvhO2desJd1OpTC_Lt9vTkk6R1tluk)

Chainlink is most interested in uncovering and mitigating any potential vulnerabilities in their Solidity based smart contracts and Goland/Typescript based core node software. Issues that could lead to a loss of funds for users or node operators will receive the highest bounty rewards.

### **Payouts**

There is a 2X bounty multiplier until September 30th, for a maximum bounty prize of up to $50,000. The payouts vary according to severity. For any reports affecting the Chainlink node client through an on-chain data request, an additional bonus will be provided 🎉

<table width="100%">
  <tr>
   <th>Severity
   </th>
   <th>Payment in LINK
   </th>
  </tr>
  <tr>
   <td>Low
   </td>
   <td>$2,000
   </td>
  </tr>
  <tr>
   <td>Medium
   </td>
   <td>$4,000
   </td>
  </tr>
  <tr>
   <td>High
   </td>
   <td>$8,000
   </td>
  </tr>
  <tr>
   <td>Critical
   </td>
   <td>$16,000
   </td>
  </tr>
</table>

### **Next Steps**

Want to get started? Great! [Sign up here.](https://gitcoin.co/hackathon/chainlink-bug-bounty/onboard?utm_source=sign-up-link&utm_medium=devto&utm_campaign=chainlink-launch)

Want to learn more? [Go here](https://gitcoin.co/issue/smartcontractkit/chainlink/3239/100023497).
How Would You Approach Systems Design Interview Questions?
Tags: discuss, codenewbie, career
Published: 2020-08-14 22:33:13

As someone relatively new to software engineering and with a non-traditional background (i.e. no CS degree), I am often taken aback by the depth of knowledge required in some entry-level technical interviews. 

My most recent/upcoming encounter is systems design.

Not to be confused with **Design Systems** (which, weirdly enough, fill up [DEV's search results](https://dev.to/search?q=systems%20design) 😂), **Systems Design** involves the process of defining the architecture and data model for a platform, such as Twitter.

After a few video tutorials and written guides, I have jotted down some general strategies, which look somewhat similar to how one approaches algorithm problems:
>1. Clarify the problem
2. Identify 2~3 core features
3. Start implementing/drawing the architecture for the features
4. Acknowledge limitation of my design
5. Optimize my solution 

Currently, I am most curious about Step#1, as this appears to be a key indicator of our problem-solving skills: 

**What are some "good" clarifying questions we can ask the interviewer?** 

An engineer friend suggested starting with **scope**, e.g. how many users, the volume of the data, etc. 

What's your approach?

And more generally: What advice or tips would you give to freshly-baked developers as we tackle the dreadful systems-design questions? 

Thanks in advance, DEV community! ❤️
[Day 3] Additional server securing
Tags: ubuntu
Published: 2020-08-14 22:12:48

Hello guys!

Today I want to strengthen the security of my server. I want to make it in two different ways: first using dependency `fail2ban`, second is to enforce using SSH key when logging in.

## `fail2ban`

> Fail2ban scans log files (e.g. `/var/log/apache/error_log`) and bans IPs that show the malicious signs -- too many password failures, seeking for exploits, etc. [(source)](https://www.fail2ban.org/wiki/index.php/Main_Page)

### Installation

`sudo apt install fail2ban`

### Configuration

There won't be big changes for my needs, although it's recommended to make a local copy of config files:

```ssh
sudo cp /etc/fail2ban/fail2ban.conf /etc/fail2ban/fail2ban.local
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
```

The only thing I will change in the default configuration of `fail2ban` is to ban suspicious connections permanently except for 10 minutes. In `/etc/fail2ban/jail.conf` I changed the value of field `bantime` to a negative number.

## Using SSH key for logging in

I've already had my SSH key, so I will skip part of creating it. For interested people, I will leave a link to the documentation of creating SSH keys in References section.

### Configuration

1) Copy SSH key to the server

```ssh
ssh-copy-id johndoe@XXX.XXX.XXX.XXX -p 12345
```

`ssh-copy-id` will scan a computer for local SSH keys and copy them on the server. I had to confirm that I want to copy key by inputting password.

2) Disable login by password

After I was sure that I can log in with my key, I changed SSH configuration in file `/etc/ssh/sshd_config`:

```ssh
. . .
PasswordAuthentication no
. . .
```

After save, I restarted SSH with `sudo systemctl restart ssh`.

## Discussion & suggestions

I would like to ask you, especially when you're more experienced in setting up machines like mine: what should I do to secure my server better? Which dependencies or config should I install/change? Thank you for your comments down below!

---

## References

* [`fail2ban` documentation](https://www.fail2ban.org/wiki/index.php/MANUAL_0_8)
* [Creating SSH keys — GitHub](https://docs.github.com/en/enterprise/2.15/user/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent)
* [Setting up log in by SSH key](https://www.digitalocean.com/community/tutorials/how-to-set-up-ssh-keys-on-ubuntu-20-04)

---

Cover image: <span>Photo by <a href="https://unsplash.com/@jaye_haych?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Jaye Haych</a> on <a href="https://unsplash.com/s/photos/keys?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Unsplash</a></span>
How to Delete Local/Remote Git Branches
Tags: git
Published: 2020-08-14 22:10:15

---
title: How to Delete Local/Remote Git Branches
published: true
description: "If you have previously worked with Git for versioning your Angular code, there is a good chance that you had some situation where you wanted to delete a remote branch or multiple branches. This happens many times to developers, particularly in large projects."
tags: git
//cover_image: https://direct_url_to_image.jpg
---


If you have previously worked with Git for versioning your Angular code, there is a good chance that you had some situation where you wanted to delete a remote branch or multiple branches. This happens many times to developers, particularly in large projects.

In this article, we'll learn:

-   How to delete a local branch in your Git repository,
-   How to delete a remote branch in Git,
-   How to delete all Git branches which have been merged,
-   How to remove all local branches not on remote,
-   How to delete all your local Git branches except master.

Before tackling how to delete a remote branch, we’ll first see how to delete a branch in the local Git repository.

> **Note:** Version control systems are an indispensable tool in modern web development that can help you solve many issues related to every task. Git is one of the most popular version control systems nowadays.

Before we proceed to learn how to delete local and remote branches in Git, let's define what's a Git branch and the side effects of deleting branches.

A branch in Git is a pointer to a commit. If you delete a branch, it deletes the pointer to the commit. This means if you delete a branch that is not yet merged and the commits become unreachable by any other branch or tag, the Git garbage collection will eventually remove the unreachable commits.

Read the full article on [Techiediaries](https://www.techiediaries.com/delete-local-remote-git-branches/)
the last great american plagiarist
Tags: writing, poetry, plagiarism, culture
Published: 2020-08-14 22:00:23

---
title: the last great american plagiarist
published: true
description: When a plagiarist makes it, it's all poetry.
tags: writing, poetry, plagiarism, culture
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/ub8lhltc3v9j83bthq09.png
---

[Cassandra](http://web.archive.org/web/20130303045356/http://thegraybook.livejournal.com/) rode up to the City of Bones, it was sunny
[That passé TERF's little screed](https://www.buzzfeednews.com/article/amberjamieson/jk-rowling-antitrans-statement) sent her mind back to fanfic
Draco, the heir to the Malfoys' bad name, was funny
And the site said, "How did this cutting-edge first-timer do it?"
The writing was charming, if a little gauche
There's only so far het *Potter* goes
[She picked out a name and called it *Dormiens*](https://fanlore.org/wiki/The_Draco_Trilogy)...
The fandom was raving, and a little proud
They learned that [she copied](http://web.archive.org/web/20081209131040/http://www.journalfen.net/community/bad_penny/8985.html) and turned around
It must have been bad that they'd loved her so

And they said
There goes the last great American [plagiarist](https://ssrn.com/abstract=3462144)
Who knows, if she never showed up, what could've been?
There goes the maddest woman FanFiction's ever seen
She had a marvelous time ruining everything

Cassandra got banned from FanFiction.net forever
For her love of sharing quotes in her novels
Filled the books with phrases and worked with the big names
And blew through the process with a laugh and some *Buffy*
And she loved her book and, yeah, [so did they](https://tvtropes.org/pmwiki/pmwiki.php/Main/DracoInLeatherPants)

And they said
There goes the last great American [plagiarist](https://ssrn.com/abstract=3664444)
Who knows, if she never showed up, what could've been?
There goes the most shameless woman FanFiction's ever seen
She had a marvelous time ruining everything

They say [she was seen on occasion](https://www.cassandraclare.com/)
Publishing books, scoping out her new trilogies
And the fans got what they wanted
She used the tropes and made sure she was seen
Twenty years is a long time
The *Draco* Books all survive and they're still free
[Free of Authors with power](https://dev.to/lethargilistic/copyright-holders-are-landlords-and-it-s-not-ok-289h), their plagiarized glowers,
And it's all a part of me

Who knows, if I never showed up, what could've been?
There goes the loudest person this forum's ever seen
I had a marvelous time ruining everything!

I had a marvelous time
&nbsp;&nbsp;&nbsp;&nbsp;ruining everything.
A marvelous time
&nbsp;&nbsp;&nbsp;&nbsp;Ruining Everything.
A marvelous time!

[I had a marvelous time.](https://twitter.com/lethargilistic/status/1233487416905826306)
Day 196: Get Paid
Tags: hiphop, code, coding, lifelongdev
Published: 2020-08-14 21:59:24

_liner notes_:
- Professional : Today flew by and it's not the fact I get paid! Tried to help some coworkers with some things they were working on. Had our inner team meeting. Cool to see what everyone has been working on. Had a 1 on 1 with my manager. He said he and the higher ups were happy with the demo application I showed yesterday. Other than that, I tried to set up for recording a promo video with what I have considering a lot of things have been packed or moved. haha Basically balancing laptops on top of boxes on top on an ironing board. haha Knocked out some recordings and sent them off to see if they cut the mustard and are good to use.

- Personal : Last night, I gathered up a bunch of tracks. Worked a little on my side project, but for the most part, I was packing up my room.

![Mountains in Norway coming out of the water under a star streaaked sky](https://dev-to-uploads.s3.amazonaws.com/i/qojg05gioq78tlavwkik.png)

Basically spent a lot of my day fighting with UPS about getting my package. They said they tried to deliver my package to my parents' place. Fine. Went there to get the delivery tag so I can get the numbers off there so I can have the package rerouted. Looked all around the house and couldn't find one. Called the UPS number of the website, tried going through the phone options to track the package and speak to someone, it hung up on me. I had to lie and select the option to ship a package to be able to actually reach someone. Since I didn't have a number because they didn't leave a slip, my only option was to have the package rerouted to a holding center. The person on the phone said they would call me within the hour. Okay. I get back to doing some work. 2 hours past, no call. I called back the UPS hotline and asked another person to put in the order to have my package held. They said, I should get a call back within the hour. Hour goes by, no call. I call the number for a third time. Let them know that no one is calling me back and it's been like 3 hours since my first call! They said they would put in another request. Like half an hour later, finally got a call saying that I won't be able to pick up my package till tomorrow morning! Waste of time. I'm drained. haha Going to finish working on this week's radio show and finish packing.

Have a great night and weekend!

peace piece
Dwane / conshus
https://dwane.io / https://HIPHOPandCODE.com
{% youtube cq0rMsEN8TY %}
How to create projects quicker?
Tags: webdev, productivity
Published: 2020-08-14 21:53:23

How long does it take for you to complete a side project?

Believe it or not, I still have some projects not completed, and I'm not even in a halfway through them. What's so sad - I will probably never finish them. I think that some of you have the same trouble.

### The problem ⛔

By creating a project without taking the professional steps, you will only lead to headaches and a lack of motivation. 🤯 Without these steps, you will save more time in the beginning, but then you will find a hard time creating a project and maybe even not completing it, which is very likely to happen.

### The solution ✅

Proven ways to implement the project successfully from developing to shipping an app, which will take longer in the beginning than without it, but it's worth it, and it's a lifesaver for us, developers. 😇 By following these steps, you will save a lot of time thinking, designing, coding, and testing, so you'd better apply them to your life!

### Table of Contents:

1\. Plan, note, visualize.

2\. Get inspired on design.

3\. Design

4\. Code

5\. Test, optimize

# The five tips on how to create projects quicker!

# 1\. Plan, note, visualize.

Plan what you want to create, an app, a website, an extension, etc.

Just note all of the useful things like what do you want in this project to be, what technologies would you like to use, and overall note when you have any ideas.

Visualize your project by thinking of how it would work, potential design principles that you will use, how you can monetize it, etc.

# 2\. Get inspired on design.

Take yourself a shortcut when it comes to design, and get inspired by finding something that you like.

Maybe that's a website that you have seen lately, or perhaps, that's a WordPress theme which is looking pretty solid.

# 3\. Design

The design of every app is much more important than code functionalities itself.

Having a complete design of your product before you start coding it will save you a lot of time thinking if that button looks good with "border-radius: 4px;" or not.

You can pretty much finish all of the styles of the app. Just do this step as a third one.

# 4\. Code

When you have your app design done, you can start coding. First, recreate all of your mockups designed from the previous step, and then handle the functionality.

You will feel more confident in shipping this app when you will see the results of your hard work immediately, so that's the key.

# 5\. Test, optimize

When it all seems to work after adding all of the required functionalities, you can start testing your app and optimizing it if necessary.

Test some things like cross-browser compatibility, RWD, page load speed, etc.

Optimize by changing your mockup images from PNG to JPG, compress them, clean up your code, minimize it wherever possible.

# Thank you!

Please let me know in the comments what are your tips when it comes to creating projects quicker. Is there anything that you would add? Thank you so much for reading, have a good one!
A GitHub action to push messages to Rocket.Chat using credentials instead of webhooks
Tags: actionshackathon, github, opensource
Published: 2020-08-14 21:46:41

---
title: A GitHub action to push messages to Rocket.Chat using credentials instead of webhooks
published: true
description: My submission to the GitHub Actions x DEV Hackathon!
tags: actionshackathon, github, opensource
---

### My Workflow
So I found out about [#ActionsHackathon](https://dev.to/t/actionshackathon) thanks to a coworker ;-) and I like hackathons and stickers. I have been playing with GitHub actions during the last weeks and I was intrigued about how all of it works. I have worked with Travis, Bamboo, Gitlab-ci. It does not feel like any of them. That's why I decided to go with building an action myself.

I selected a problem I like and that I have talked about before [here](https://dev.to/jadolg/rocketchat-notifications-on-your-cicd-pipeline-59p5) and started playing around. I love [Rocket.Chat](https://rocket.chat/) and I love chat notifications and the fact that you can notify a lot of people with a single message if your build breaks or if a new version of your application was deployed for testing is very convenient. [Rocket.Chat](https://rocket.chat/) allows you to add integrations and push messages using webhooks and they actually have [a very nice GitHub action](https://github.com/marketplace/actions/rocket-chat-notification) to do so. But what if you can't create integrations on this server because you don't have enough privileges? I wanted to be able to do it with only credentials, the URL for the [Rocket.Chat](https://rocket.chat/) server and the name of the channel where I want to post messages.

First, I'm not comfortable with using `javascript` or `typescript` and most of the actions I found were written using either of them. I was very happy when I discovered you can just use `Docker` https://docs.github.com/en/actions/creating-actions/dockerfile-support-for-github-actions

I started a new [repository](https://github.com/jadolg/rocketchat-notification-action) and begun writing with the code on the tutorial. Since I created a private repository I could only test the action on itself, so I started a disposable branch on GitHub, created a pull request to use my action, and started playing with different configurations from the same GitHub interface. I would commit the changes to the action on the `master` branch and then test from the disposable branch.

After a couple of hours, I had written and tested my new action and published it to the marketplace [here](https://github.com/marketplace/actions/rocket-chat-notification-with-credentials).

It was fun working on it and the documentation was easy to follow. Now it's time to start actually using it on a project, showing it around and improving it :-)

### Submission Category: 
DIY Deployments

### Yaml File or Link to Code
https://github.com/jadolg/rocketchat-notification-action

### Additional Resources / Info
Open source projects involved:
* https://github.com/aleph-engineering/rocketchat-notification
* https://rocket.chat/
Video: Add a featured image to your Jekyll blog roll (part 2)
Tags: jekyll, staticsite, blog
Published: 2020-08-14 21:41:36

In my [previous post/video](https://dev.to/billraymond/video-add-a-featured-image-to-your-jekyll-site-part-1-33dj), I shared how to add a featured image to your Jekyll blog posts. In this video, I show you how to add that image to the blog roll (or blog reel, or list of posts, whatever you like to call it).

{% youtube 1GskmTFLrA4 %}

If you enjoy this video, please subscribe to [my channel](https://www.youtube.com/channel/UCo63gWfWRfEciJ98mJLIU0Q), like, and comment. Those few actions will help me build an audience and create more content.

Feel free to clone the repo and use the code freely: {% github BillRaymond/jekyll-featured-images no-readme %}

The repo has GitHub Pages installed, so you can try it out live [here](https://billraymond.github.io/jekyll-featured-images/).

I am an occasional developer, so if you have any insights on how to improve, please feel free to offer your constructive comments. On my [actual website](https://www.cambermast.com), you will see I created a shared component that can be reused throughout the site. If you are interested in learning how to do that, let me know in the comments.
The Ultimate Nextjs Starter for your blog with a FREE minimalist theme
Tags: nextjs, tailwindcss, jamstack, webdev
Published: 2020-08-14 21:37:45

---
title: The Ultimate Nextjs Starter for your blog with a FREE minimalist theme
published: true
description: An open source Nextjs Starter Code for blogging
tags: Nextjs, tailwind, jamstack, webdev
cover_image: https://creativedesignsguru.com/demo/Nextjs-Blog-Boilerplate/assets/images/nextjs-starter-banner.png
---

Lately, I was building a Next js starter for blogging. I wanted to have a modern starter code for my blog. A new boilerplate for Nextjs with type checking (TypeScript), linter (ESlint), code formatter (Prettier), CSS framework (Tailwind CSS)

You can check a live demo at this url : [Nextjs Starter](https://creativedesignsguru.com/demo/Nextjs-Blog-Boilerplate/)

You can also check the source code on GitHub: [Nextjs Starter GitHub](https://github.com/ixartz/Next-js-Blog-Boilerplate)

Here is the list of major feature:

- 🎈 Syntax Highlighting your code with Prism.js

- 📖 Blog Pagination

- 🎨 Include a minimalist blog theme

- 💅 Design with Tailwind CSS

- ✏️ Linter with Eslint and Prettier

- 🎉 Type checking with Typescript

- ✅ Easy deploy on Netlify

- 🤖 SEO friendly

- 🚀 Production-ready, you just need to focus on your writing

{% github ixartz/Next-js-Blog-Boilerplate %}