teleren/devto huggingface dataset:
Rewarding Github Action
Tags: actionshackathon
Published: 2020-08-25 16:19:05



### My Workflow
There are many open source contributors who are not getting rewarded and working really hard
Creators of the project have to just include a step to there existing Github actions for rewarding their contributors. Whenever the creator includes this action, when there is a contributor making either a push to master or pull_request the actions detect the commits and rewards contributors based on their number of commits. The points scored by the contributors can be adjusted as a secret to the project by the owner. These are kept track on a server at [here](https://reward-keeper.herokuapp.com/user/your-username)
Now anyone who wants to reward the contributors can see the contribution made by the user and reward them according to there points. This can also act as a metric to how much the user has contributed to open source. Hence this will really be helpful to the contributors.

Repo level rewarding is also added so that organizations conducting competitions can reward users based on commits to the repo. This can be found [here](https://reward-keeper.herokuapp.com/repo/username_repoName)

### Submission Category: 
Wacky Wildcards

### Yaml File or Link to Code
{% github saitejach127/rewards %}

### Additional Resources / Info

The server used to keep track of points [live](https://reward-keeper.herokuapp.com)
{% github saitejach127/ActionsHackathon %}
Role of a DevOps Consultant
Tags: devops, devopsconsultant, devopscareer
Published: 2020-08-25 16:12:07

Recently, I have started to note there is a lot of opportunities piling up for DevOps consultant, so I thought of putting up this post just to understand what else is required for someone to set a career path in that area.
Before jumping into the topic, let us first understand a few basic things

What is DevOps?
DevOps is not a framework or a workflow. It’s a culture that is overtaking the business world. DevOps ensures collaboration and communication between software engineers (Dev) and IT operations (Ops). With DevOps, changes make it to production faster. Resources are easier to share. And large-scale systems are easier to manage and maintain.

In 2009, Patrick Debois from Belgium and Andrew “Clay” Shafer from the US met and started talking up (and coined the term) DevOps, and then Patrick held the first DevOpsDays event in Ghent that lit the fuse. The concept, now that it had a name, started to be talked up more in other venues (I found out about it at OpsCamp Austin) including Velocity and DevOpsDays here in the US and spread quickly (Source: https://theagileadmin.com/what-is-devops)

Wonderful explanation is given in this video, DevOps Foundations (James, Ernest) — a three hour set of videos designed to orient beginners into the whole scope of DevOps.

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

There is a lot of resources available for someone to start in DevOps, I find this website be useful https://devops.com,if you go through the website you will get a lot of ideas on DevOps.

Below is the mindmap (Draft) I have put together on the set of tools used in DevOps world, basically this is based on the analysis done on various Job Description posted on LinkedIn and other websites for the role of DevOps Consultant (https://whimsical.com/ThsH9ZpZJ1YSKtrUAoZ2hW)

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/04eljmztjnyry0b8u69h.jpg)
Multiple YAML defaults in Rails fixtures
Tags: rails, testing, tips, howto
Published: 2020-08-25 19:07:20

---
title: Multiple YAML defaults in Rails fixtures
published: true
date: 2020-08-25 16:05:00 UTC
tags: rails, testing, tips, howto
canonical_url: https://paraside.in/multiple-yaml-defaults-in-rails-fixtures/
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/eryqm40xc6mymwvay8uc.png
---

You know that you can use [YAML defaults in your fixtures](https://api.rubyonrails.org/v3.1/classes/ActiveRecord/Fixtures.html) to extract common attributes values and make your fixtures more readable.

```yaml
DEFAULTS: &DEFAULTS
  created_on: <%= 3.weeks.ago.to_s(:db) %>

first:
  name: Smurf
  <<: *DEFAULTS

second:
  name: Fraggle
  <<: *DEFAULTS
```

What if you want to use more than one set of defaults? 

# The old way - DEFAULTS

The Rails example is a bit confusing because it uses "DEFAULTS" for both the label and the anchor/alias, but here's how to handle multiple defaults:

```yaml
DEFAULTS: &decisions
  icon: 🧠
  name: Decisions

DEFAULTS: &help
  icon: 👋
  name: Help

founders_decisions:
  team: founders
  <<: *decisions

founders_help_requests:
  team: founders
  <<: *help
```

To understand how this works, you need to know two things.

- The [Rails docs](https://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html#class-ActiveRecord::FixtureSet-label-Support+for+YAML+defaults) tell us that it doesn't matter how many "DEFAULTS" label we have: they won't overwrite themselves even though they use the same label.

    > Any fixture labeled “DEFAULTS” is safely ignored

- The [YAML spec](https://yaml.org/spec/1.2/spec.html) explains how aliasing works

    > Repeated nodes (objects) are first identified by an anchor (marked with the ampersand - “&”), and are then aliased (referenced with an asterisk - “*”) thereafter.

# Edge Rails way - fixture:ignore

There's another way to do that on [Edge Rails](https://edgeapi.rubyonrails.org/classes/ActiveRecord/FixtureSet.html#class-ActiveRecord::FixtureSet-label-Support+for+YAML+defaults). You can specify fixtures that should be ignored and that you can therefore use as defaults.

We can rewrite the example above like this:

```yaml
_fixture:
  ignore:
    - decisions
    - help

decisions: &decisions
  icon: 🧠
  name: Decisions

help: &help
  icon: 👋
  name: Help

founders_decisions:
  team: founders
  <<: *decisions

founders_help_requests:
  team: founders
  <<: *help
```

# Which one should I use?

If you're using the Rails 6.0.3.2 or below, you don't have a choice anyway. But even then, while the edge option is interesting because the anchor/alias mirrors the label, I'll stick with the "old way" for two reasons:

1. it's less code (you don't have to write the _fixture block)
2. the DEFAULTS label is easy to spot and explicit. You could use `DECISION_DEFAULTS: &decisions` instead of `decisions: &decisions` but the label isn't really useful and, again, you're writing more code than if it's just `DEFAULTS: &decisions`
Choose your next programming language
Tags: career, javascript, programming, webdev
Published: 2020-08-25 16:07:31

---
title: Choose your next programming language
published: true
date: 2020-08-25 16:02:34 UTC
tags: career,javascript,programming,webdev
canonical_url: https://www.notonlycode.org/choose-your-next-programming-language/
---


In this video I'm talking about how to choose your next programming language. There are many options to choose from and depending on your motivation and goals, you might want to explore different directions.

{% youtube eWbp2hohBHQ %}

While I believe there is no correct answer here, I believe that my advice can help you make a better decision. Enjoy!

The video description on YouTube contains the list of all langauges I've mentioned together with sources of logos I've used.

If you have any thoughts on picking a new language to learn, share it in the comments, I'm curious about your opinions!
💫 Learn how to refactor an existing app with Vertical Slice Architecture 💫
Tags: architecture, education, refactorit, verticalslice
Published: 2020-08-25 16:00:32

If (ahem, when) your layered-architecture application devolves into a big ball of mud, you don't have to start all over. In [this webinar](https://hdspr.ng/3jeCkEW), Chief Architect Jimmy Bogard will show us how to use Vertical Slice Architecture to upgrade an existing application safely. Anyone who wants to see vertical slice in action should join! You'll learn all about:

  ✅ Design request and response objects based on application inputs
  ✅ Refactoring existing application code into handlers
  ✅ Libraries for cross-cutting concerns that fit with a Vertical Slice Architecture

It's on *Wed., Sept. 9 at 1pm CDT*. And if you miss it, we'll send the recording, so **[sign up now](https://hdspr.ng/3jeCkEW)!**



PS: If you want to brush up on the benefits of Vertical Slice beforehand, check out Jimmy's latest post:
{% twitter 1296870955868917762 %}
QuickPublisher - A Simple Blogging Platform (Milestone)
Published: 2020-08-25 15:59:12

Its been 5 months since I released my blogging platform, QuickPublisher. It started as a bumpy ride. But in the past 9 days, alot happened. I am here to share the results.

The best moment was when QuickPublisher had 1 daily active user. Many people would laugh at this stat. But this felt amazing. I always believe that Daily Active User (DAU) is the most important metric (big or small startup). It was amazing to have one blogger who always posted 5 articles daily and would give feedback on bugs in the platform, requested features and room for improvement.

Between April and August 15th, I gained 290 more daily active users (slow but better). 

Everything changed on August 16th. I posted a link on HackerNews and within 5minutes I was on top of the SHOWHN page. This major coup led QuickPublisher to 600 daily active users in total.

Today, QuickPublisher has 289 users on the premium plan which only costs $15.99/year to point your blog to a custom domain, blogging collaboration and many more premium features.

You can checkout the platform at https://www.quickpublisher.online to get started.

Cheers!
Star Wars vs Star Trek 🤺☄️🚀👾
Tags: watercooler, discuss
Published: 2020-08-25 15:56:24

---
title: Star Wars vs Star Trek 🤺☄️🚀👾
published: true
description: Which world would you perfer 
tags: watercooler, discuss 
---

If you get chance to live in either of the world, which one will you choose and why? 🤔😅

![](https://media2.giphy.com/media/M4iOAkEAPwAnK/giphy.gif?cid=82a1493bh92yy4lfrt6q8lcaf1ptgtthxe0n5tarhtnzzayw&rid=giphy.gif)
### Star Wars
or
### Star Trek

![](https://media3.giphy.com/media/IL4iTvQH0MjS/giphy.gif?cid=82a1493bshx2oxphn98z8wo9ndwz8cx2yj4i5ul5a4rvxx79&rid=giphy.gif)
Have you seen all 30 Style Stage themes?
Tags: css, webdev
Published: 2020-08-25 15:47:27

> [Style Stage](https://stylestage.dev) is a modern CSS showcase styled by community contributions, and is open to developers of all skill levels to submit a stylesheet.

As noted in the tweet below, Style Stage reached a big milestone today with **30 stylesheet themes** now available!

{% twitter 1298283792109576194 %}

Style Stage launched just over a month ago on July 10, and I'm grateful for the community's support in addition to the top-notch creativity that each author has brought to the project.

Check out all the styles, there are many things to be learned about modern CSS features such as:

- CSS grid layout
- Flexbox
- gradients
- CSS animation
- typography
- CSS custom variables
- ... and more!

Comment with your favorites! I look forward to receiving your submission soon 😉
I built a small, fast, flexible react validator
Tags: react, javascript, npm, typescript
Published: 2020-08-25 15:41:33

Over the past few months, I was working on creating a react validation library. I summed up all the things which I wished a validator to have and I tried to put all things together. At the same time, I was trying typescript for the first time!

##List with features:
* built-in validators
* custom validators
* custom messages
* avoid unnecessary rerenders
* use hooks (for educational purposes)
* global configuration or non-configuration


After a lot of thinking and preparation time, I came up with this idea:

> Validators and messages should follow the "prototypal inheritance" model like javascript objects. The closest rules and messages to the element have higher priority, therefore they override the farther ones.

For example: if I have a validation rule on the element, it will first check for a custom validator function which applies to the element's rule. If it finds it, the validation will be against this function. Otherwise, if the element doesn't have any validation function for this rule, it will check on the global config for the validator function. If even global config doesn't have this validator function, it will check at last on built-in validators, otherwise, it shows a warning and returns false.

The same thing applies to error messages and options (for this I will explain below) as well.

>!Important rule: the rules must have the same name with validation functions, error messages, and options in case they exist.

My second idea was on how easy custom validation functions can apply with attributes. For example, the minimum length of a string.

When I have a rule, such as minLength, it will check at first on the element's options for the property minLength. Otherwise, it will check on the global config. If it can't find the minLength property on either the element's options or on the global config, it will throw a warning.

Another thing that I wanted to avoid was unnecessary rerenders. Therefore I didn't use the react's state except for when I actually needed rerender. In order to keep my data between rerenders, I used the useRef hook.

That was my idea and I have tried to implement it on [this repository](https://github.com/thstamod/light-react-validator).

More technical details and examples you can find on repo's [readme](https://github.com/thstamod/light-react-validator/blob/master/README.md)

Please feel free to share your thoughts and comments.
 You can also download it via [npm](https://www.npmjs.com/package/light-react-validator) and check it!
Day 40: Deployed Back End to Heroku
Tags: 100daysofcode, heroku
Published: 2020-08-25 15:04:35


I deployed the the Back End project to Heroku successfully or rather almost successfully. I followed through the [Getting Started on Heroku with Node.js](https://devcenter.heroku.com/articles/getting-started-with-nodejs) article. It is straight forward and easy to set up, when you don't bump into errors.

Onto the successful bit: Running the app locally.
Command used: 
```
heroku local web
```
I made a request to http://localhost:4000/products on the browser, and got back my saved products. 
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/5lok253gze000ngse1kl.png)
I also made requests to a couple of endpoints. Here is the Response on terminal ![Response on terminal](https://dev-to-uploads.s3.amazonaws.com/i/mbm6x7j3xomrpc6tl260.png)

Then there is the unsuccessful bit of it. Opening the app on a site. I'm not sure what output to expect since it's only a Back End, but from the output below something is amiss.
Command used:
```
heroku open
```
Output
![Application Error Message](https://dev-to-uploads.s3.amazonaws.com/i/wwdkhciyr5an2eocs291.png)
Heroku logs 
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/k97z33ltkoyyfbv1957w.png)
I copied and pasted the logs on google. But google could not comprehend the search. 
[Fixed on day 44](https://dev.to/mtee/day-44-typeorm-and-heroku-bug-fixes-4nac)

_Day 40 is a Done Deal_
Made First Android Quiz App in Kotlin
Tags: kotlin, android, devops, github
Published: 2020-08-25 15:00:10

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

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/7k82xdrtwhepbr6ez121.jpeg)![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/wewgio74rgr64fkecdsm.jpeg)

Hey there! I made a slight shift from web to android in recent days and made the first Android app in Kotlin.
Please give ur valuable feedback on it as a first android app.
Thanks and Cheers!!

<a href="https://github.com/GauravSingh9356/Quiz-App-" target="_blank">GitHub code</a>
Supply Chain Risk Management with Data Analytics
Tags: bigdata, bigdataanalytics
Published: 2020-08-25 14:54:48

Everyone is talking about big data, but few are trying to benefit from it, notably in the supply chain risk management. According to statistics, 97% of supply chain analysts believe that big data can be extremely useful for the supply chain, but only 17% are actually using it. A supply chain is a great source of data, produced by customers, the business itself, and its operations. By analyzing and capitalizing on this data, businesses open for themselves the door to endless possibilities and obtain a considerable competitive advantage. So, let’s take a closer look at how the supply chain can benefit from big data analytics in risk management and how everything works.

![Big Data Supply Chain Risk Management Application](http://perfectial.com/wp-content/uploads/2020/08/Big-Data-02-scaled.jpg)

##Big Data Analytics for Supply Chain Risk Management: Why It’s Essential for Business

The incredible amount of data produced by the supply chain can be transformed into valuable insights to help identify both issues and opportunities to transform the company’s business strategy from reactive to proactive. Supply chain analytics use data and quantitative methods for enhanced decision making. It becomes possible with the evolution of datasets for analytics from the conventional, in many cases unstructured, data stored on both Enterprise Resource Planning and Supply Chain Management Systems.

These insights become especially important for supply chain risk management in the age of increased interconnectivity. The new risks, like cyber-threats, arise along with the traditional ones, making the supply chain more vulnerable than ever. Big data can help considerably in detecting and preventing these hazards. Moreover, the processing of supply chain data can contribute to improving customer service – it can help better preserve products during transportation and prevent shipment delays due to unforeseen circumstances.

The post [Supply Chain Risk Management with Data Analytics] (https://perfectial.com/blog/big-data-supply-chain/) appeared first on [IT Consulting Company Perfectial] (https://perfectial.com/).
Thoughts on the Epic Games War on Apple
Tags: gamedev, unreal
Published: 2020-08-25 14:32:05

With the current war being waged by Epic Games against Apple, I sat down and thought about a few benefits and disadvantages that could improve or harm devs if the outcome is in favor of Epic Games.

According to Epic, Apple's system of taking 30% of revenue hurts devs, while Apple believes it improves their products. I'm with Epic on this point. Apple makes billions over multiple streams of income. They offer various subscriptions and require developers to pay yearly for licenses. Unlike Google, where you pay a one-time fee and 30%, Apple requires $99 per year and 30%.

It's understandable, though not entirely likeable, that Google takes 30% of revenue even though they are also a tech giant. The reason it's more understandable is because there is only a one-time fee for Google. It's easier to get back your one-time payment of $25 with 30% taken from income, than to get $99 per year with 30% taken from income.

Apple holds a proprietary system, so they are eligible to (mostly) do whatever they want with it. Revoking Epic licenses was wrong to do and could've hurt the reputation and devs using Unreal Engine. Apple was willing to hurt an entire industry that uses Unreal to attack Epic. The industry includes people all over the world using Unreal for jobs to feed themselves and their families. It was one thing to remove Fortnite (source of income for Epic Games), another to attack the Unreal Engine itself (a source of income for many devs outside Epic Games). 

Here's my take:

I believe 20% should be the new standard for major companies, especially Apple. I don't believe Apple should be forced to allow other app stores into their app market (something Epic wants to do). I think it was wrong that Apple decided to attack Epic Games and the people using their services (Unreal Engine),  not just Epic Games with Fortnite only. I also think that both stores should implement a system where 3.0 (and below) rated apps are sent notices saying to update the app to a newer version to get a higher rating or risk the app being taken down.
#30DaysOfCJS: Scalable Distributed Messaging with Kafka
Tags: community, javascript, kafka, messaging
Published: 2020-08-25 14:37:34

---
title: #30DaysOfCJS: Scalable Distributed Messaging with Kafka
published: yes
description: #30DaysOfCJS Day 24, Scalable Distributed Messaging with Kafka
tags: community, javascript, kafka, messaging
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/pjckc53vfwq1j4npeu9c.png
series: 30DaysOfCJS
---

*This is a follow up post for Day 24 of* **#30DaysOfCJS**, *learn more about* **#30DaysOfCJS** *here* {% link jimcalliu/30daysofcjs-1jd3 %}

**Scalable Distributed Messaging with Kafka | Claudius Mbemba | CascadiaJS 2019**

If you'd like to watch the talk, here is the Youtube link.
{% youtube KHRabSbB5wk %}

Further readings:
- [Slides](https://claudiusmbemba.com/public/slides/cjs2019.pdf)
- [pub-sub](https://github.com/NeuCleans/kafka-docker/tree/pub-sub)
- [kafka-pub-sub](https://github.com/NeuCleans/kafka-pub-sub)
- [socketio-kafka-pubsub-sample](https://github.com/User1m/socketio-kafka-pubsub-sample)
- [kafka-pub-sub-investigation](https://github.com/User1m/kafka-pub-sub-investigation)
How to setup netgear extender.
Published: 2020-08-25 14:33:01

<a href="https://mywifiiextnet.com/">Mywifiext.net</a> is the default web address that users can use for Netgear extender setup. But sometimes, mywifiext net setup page doesn't open. In such a case, you can use <a href="https://mywifiiextnet.com/192-168-1-250/">192.168.1.250</a> IP for Netgear extender login. After login, you will see the Netgear Genie Setup page which provides you on-screen instructions for Netgear WiFi range extender setup. If you still face any issue with mywifiext net login or new extender setup, contact our experts right away.
Making Python3 default in Ubuntu
Tags: python, ubuntu, linux
Published: 2020-08-25 14:27:15

I came into the python world at 2017, and ever since then, I have never thought of using _Python2_. Now in 2020, I just updated my OS to Ubuntu 20.04 and I have no idea what _python2_ is doing on my terminal, talkless of even being the default.

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

---
But this is how I made _python3_ my default:

📌 First I typed **gedit ~/.bashrc** on my terminal to open the .bashrc file on my text editor.
```shell
$ gedit ~/.bashrc
```
📌 And then I added 
**alias python=python3**
to the top of the .bashrc file and saved it.

That was it. 🚀🚀

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/ifaj4lc9xtxcoocxrup5.png)
---
What this means is that whenever I write _python_ on my terminal, it sees it as _python3_