teleren/devto huggingface dataset:
Tools to succeed
Tags: beginners, webdev
Published: 2020-07-30 20:02:02

The web has never been as capable as it is today and will be tomorrow. 
As software engineers we have so many options, almost too many, and it can be daunting. This post is just to share some of the tools I've found great at managing to remember the basics but keep with the current.

## Our good old friend, data structure & algorithms
> "This is the coding implementations of the [DSA.js](https://books.adrianmejia.com/dsajs-data-structures-algorithms-javascript/) book and the repo for the NPM package.
In this repository, you can find the implementation of algorithms and data structures in JavaScript. This material can be used as a reference manual for developers, or you can refresh specific topics before an interview. Also, you can find ideas to solve problems more efficiently."
https://github.com/amejiarosario/dsa.js

## AlgoExpert
There are many of these types of sites around, and for some, they would rather not pay for it so do do some research of which would suit you best. 
But for me, the user interface is what really worked. It's clear to see what topics there is to cover, how far through and easy to work on coding questions.
[algoexpert.io](https://www.algoexpert.io)

## Keep up to date with podcasts
* [13 letters - an accessibility podcast](https://www.bemyeyes.com/podcasts/introducing-13-letters-the-accessibility-podcast)
* [Front End Happy Hour](https://frontendhappyhour.com)
* [CodePen Radio](https://blog.codepen.io/radio/)
* [JS party](https://changelog.com/jsparty)

## Keep up to date with email
* [JavaScript weekly](https://javascriptweekly.com)
* [React status](https://react.statuscode.com)
* Node.js was an absolute turning point in development, there is no denying that. But [Deno](https://github.com/denoland/deno) is the one to watch now, as explained by the creator, Ryan Dahl in [10 Things I Regret About Node.js](https://www.youtube.com/watch?v=M3BM9TB-8yA). [Deno weekly](https://denoweekly.com) is another great one.

## Keep up to date with twitter
* [sxywu](https://twitter.com/sxywu) who does some inspiring work with ["data-driven art and visualizations"](https://sxywu.com)
* [Addy Osmani](https://twitter.com/addyosmani)
* [Ryan Florence](https://twitter.com/ryanflorence)
* [Kent C. Dodds](https://twitter.com/kentcdodds)
* [Chris Heilmann](https://twitter.com/codepo8)
* [mpj](https://twitter.com/mpjme) creator of [FunFunFunction](https://www.youtube.com/channel/UCO1cgjhGzsSYb1rsB4bFe4Q)
* [JavaScript Daily](https://twitter.com/JavaScriptDaily)

<br />
Thanks for reading! :raised_hands:
Mysql Problems with Config
Tags: ruby, mysql, json, sdoc
Published: 2020-07-30 19:56:44

Today firstly saw the unarity of pure_json and json...
As well as had an issue when attempting to update json,
The issue seemed to be a dependancy problem with sdoc.
After removing sdoc and rdoc from the equation the issue persisted:
....
compiling mysql2_ext.c
compiling result.c
result.c:326:40: warning: incompatible pointer types assigning to 'my_bool *' (aka 'char *') from 'bool *' [-Wincompatible-pointer-types]
    wrapper->result_buffers[i].is_null = &wrapper->is_null[i];
                                       ^ ~~~~~~~~~~~~~~~~~~~~
result.c:328:40: warning: incompatible pointer types assigning to 'my_bool *' (aka 'char *') from 'bool *' [-Wincompatible-pointer-types]
    wrapper->result_buffers[i].error   = &wrapper->error[i];
                                       ^ ~~~~~~~~~~~~~~~~~~
2 warnings generated.
compiling statement.c
linking shared-object mysql2/mysql2.bundle
ld: library not found for -lssl
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [mysql2.bundle] Error 1
make failed, exit code 2
....
I found the compilation to be somehow incorrect, tried uninstalling and installing the gem and it somehow pointed to a previously used version of mysql2,
So, after some research, a post on SO about the config of mysql directly changed it through bundle config local instead of by installation of the gem and using the flags there.

The post was: https://stackoverflow.com/questions/56786993/mysql2-gem-fails-on-bundle-install-despite-installing-using-gem-install-co

and the answer to my issue was:
bundle config --local build.mysql2 "--with-ldflags=-L/usr/local/opt/openssl/lib --with-cppflags=-I/usr/local/opt/openssl/include"
The .NET Docs Show: Reverse proxies, DAPR, and microservices
Tags: dotnet, microservices, dapr, dotnetdocsshow
Published: 2020-07-30 19:32:33

---
title: The .NET Docs Show: Reverse proxies, DAPR, and microservices
published: true
description:  The .NET Docs Show is joined by Senior Cloud Advocate, Cecil Phillip for a deep dive into .NET microservices.
tags: dotnet, microservices, dapr, dotnetdocsshow
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/oiwtill9m8qy6dy8a8he.png
---

In this episode of [The .NET Docs Show](https://dotnetdocs.dev), Cecil Phillip (Senior Cloud Advocate <a href="https://twitter.com/cecilphillip" target="_blank">@cecilphillip</a>) discusses [microservices in .NET](https://aka.ms/learn-microservices?WT.mc_id=devto-thedotnetdocs-dapine) as part of this week's #CheckUp. We shared how Cecil will be joining The .NET Docs Show as a co-host, as we'll soon be announcing a rotating hosting schedule.

The #HallwayTrack was filled with conversation relevant to the #dotNETConf microservices theme! We talk about pub/sub, service discovery, configuring (our :heart: of YML, pronounced "fimmel"), tracing and observability, metrics, error monitoring, and more. Wow, that is a lot to say, but we're not done, we share tools, platforms, and architecture suggestions. 

{% youtube 5u1YDR4W7Ic %}

If you liked this video and would like to see some more of our .NET content, please subscribe to our [The .NET Docs Show YouTube Channel](https://www.youtube.com/channel/UCIy_nKrwrd-naf_MPWtXdLA) and [follow us on Twitter](https://twitter.com/dotnetdocsshow).

# #CheckUp

- [Migrate from .NET Framework to .NET Core](https://aka.ms/learn-microservices?WT.mc_id=devto-thedotnetdocs-dapine)

# Useful links

- [Cecil's URL list](https://www.theurlist.com/the-dot-net-docs-show-microservices-cecil-phillip)
- [The .NET Docs Show](https://dotnetdocs.dev)
Do you need math to work in IT or be a Developer?
Tags: career, beginners, workinit, math
Published: 2020-07-30 19:23:01

---
title: Do you need math to work in IT or be a Developer?
published: true
description: 
tags: career, beginners, workinIT, math
---

How someone once told me - yes, you need it, at least for proper salary calculation 😅

Jokes aside, good news for everyone who’s not a fan of math - NOP it’s absolutely NOT a requirement, you can be a part of the IT field without knowing it well! IT has many professions - programmers, testers, designers, recruiters, scrum masters, project managers, agile coaches… In the majority, you don’t need any mathematics at all. You should have other skills but knowing math is definitely not one of "must-haves".

And what if you want to be a developer? It depends. 

✅ You don’t need math in the majority of programming jobs. Even if the field you're working in has some calculations. Let's say, you work in IT in a bank and you need to code up some formulas. Bank will have domain specialists who know about finances and they will provide you formulas which you just need to copy from paper/excel to code. 
Maximum I need as frontend dev is arithmetics aka plus, minus, multiply & divide pixels while writing CSS.

✅ Many people mention you need not math per se but “logical thinking”. What is it even? 😅 One of the definitions is “Logical thinking is the act of analyzing a situation and coming up with a sensible solution.” We, as functioning adults, are analyzing dozens of situations every day and (hopefully) coming with solutions. So don’t let people tell you that you lack logical thinking! You do it every day, in reality, so you will be able to do it in the virtual world too.

✅ Math is needed in some specific fields of development: 
- Computer Graphics (physics too!)
- Artificial Intelligence/Machine learning (linear algebra, calculus)
- Quantum computing (boolean algebra, linear algebra, probability theory)
- Data science (statistics and probability)

If you wanna avoid math, there are plenty of other fields/projects where you can work as a developer. 

Trust me, there are harder things in IT, for example, communication between people & teams. Having the ability to learn, good communication skills, and curiosity can lead you the long way in any job! 

So fear no more, you can shine in IT without math too.

Do you like math? Do you know it well? What do you work with?
Shadow Improvements
Published: 2020-07-30 19:11:40

### **Previously**
In my last blog post I talked about how to implement a simple shadow map this time I will talk about a way to improve the quality of the shadows. Last time we discovered that the shadows were very blocky, rigid, and weren’t very nice looking. These were hard edge shadows and we can fix that by using something known as Percentage Closer Filtering (PCF). PCF is a method that determines how much light a pixel should have based on the other pixels around it, this should give us some nicer, softer shadows that will be great for your project. So, let’s get down to it and implement PCF shadows.

### **Implementation**
So, in our pixel shader we need to define how the range of PCF filtering we want to have. The range will determine how many pixels around the current pixel we want to look at, so if we wanted a range of one it would check the current pixel and the 8 other pixels surrounding it. For demonstration purposes I’m going to use a range of one. 
Next, we need to loop through our range and get the shadow level from the map. You can do this with 2 simple for loops starting at your negative range going to your positive range.

`for (int x = -PCF_RANGE; x <= PCF_RANGE; x++)`

From there you want to perform the same shadow map calculations from last time inside the loop and add it to a float variable. The last thing you need to do from there is divide that variable by the number of pixels you check and you now have PCF shadows.

### **Additional tweaks**
You might have noticed that there’s some blotchy ness to the shadows similar to a wave pattern from light to dark. This obviously is bad but it can easily be fixed with a shadow bias and takes less than 2 seconds to implement. The bias is a value that will help remove that wave pattern and all that needs to be done is subtract the bias from your coordinates z value and you’re done, that’s all it takes. Now finding the right bias value will take some time but the general rule is the smaller you can get it the better.

In addition to the bias if you are using the High Level Shader Language (HLSL) you can have the gpu determine the shadow level for you. You can do this by changing the Sampler state into a Sampler Comparison State so you don’t have to check the values yourself. And that’s it, you’re done you’ve implemented PCF shadow maps, got rid of the shadow waves and it only took 10 minutes. The screenshot below is there to help you if you got lost at any point during this blog.

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

Gage Dietz
AzureFunBytes Episode 8 - @Azure Containers with @erikstmartin
Tags: azure, kubernetes, containers, beginners
Published: 2020-07-30 19:11:05

Check out this week's stream, Erik St. Martin (@erikstmartin) helps me solve three problems with on Azure with Containers.

- My app is on a VM, can we move it to Azure?
- How do I containerize and host my app on Azure?
- How do I distribute my application for high availability?

Erik and I will discuss his tenure in technology with me and even answer some questions.

{% youtube HLkzwkUtiCc %}

------

AzureFunBytes! - Byte-sized content with a live Twitch show!


Learn about Azure fundamentals with me!


Live stream is available on Twitch at 2 pm EDT Thursday. You can also find the recordings there as well.

https://twitch.tv/azurefunbytes
https://twitter.com/azurefunbytes

Join me, ask questions and learn about Azure!

Microsoft Learn: [Azure Fundamentals](https://cda.ms/1jV)
Microsoft Azure: [$200 Free Credit](https://azure.microsoft.com/free/?WT.mc_id=twitter-ca-social-jagord)
Microsoft Docs: [Azure Kubernetes Service (AKS)](https://cda.ms/1jR) 
Microsoft Docs: [Deployment Center for Azure Kubernetes](https://cda.ms/1jQ)  
Microsoft Docs: [Kubernetes core concepts for Azure Kubernetes Service (AKS)](https://cda.ms/1jS)
Heroku to Slack with AWS Lambda
Tags: heroku, slack, aws, ruby
Published: 2020-07-30 17:34:54

When my production app processes change state on Heroku, I want to be notified in Slack:

![Screenshot of Slack notification](https://dancroak.com/images/heroku-to-slack.png)

Other examples:

```
17:38:52 clock.1 `bundle exec ruby schedule/clock.rb` up
17:39:03 web.1 `bundle exec puma -p $PORT -C ./config/puma.rb` up
17:39:05 web.2 `bundle exec puma -p $PORT -C ./config/puma.rb` up
```

Pager-notifying events:

```
17:38:52 queuenote.1 `bundle exec ruby queue/note.rb` crashed
```

[Heroku has webhooks](https://devcenter.heroku.com/articles/app-webhooks) for these events but their payloads aren't in the format needed for [Slack incoming webhooks](https://api.slack.com/messaging/webhooks).

AWS Lambda is the perfect glue to transform the Heroku webhook's JSON payload into a useful JSON payload for Slack's incoming webhook.

## Slack config

Create an [incoming webhook](https://api.slack.com/messaging/webhooks). Copy the URL.

## Lambda config

Create a [Lambda function](https://docs.aws.amazon.com/lambda/latest/dg/getting-started.html). AWS' supported runtimes include Node, Python, Ruby, and Go. You can alternatively implement a custom runtime.

Here's an example in Ruby:

```ruby
require "json"
require "net/http"
require "time"
require "uri"

def lambda_handler(event:, context:)
  dyno = JSON.parse(event["body"])
  name = dyno["data"]["name"] || ""
  state = dyno["data"]["state"] || ""

  ignored_states = ["starting", "down"].include?(state)
  term_one_off = state == "crashed" && ["scheduler", "run"].any? { |p| name.include?(p) }

  if ignored_states || term_one_off || name.include?("release")
    return {
      statusCode: 200,
      headers: { "Content-Type": "application/json" },
      body: "ok"
    }
  end

  uri = URI.parse(ENV.fetch("SLACK_URL"))
  http = Net::HTTP.new(uri.host, uri.port)
  http.use_ssl = true
  req = Net::HTTP::Post.new(uri.request_uri)
  req["Content-Type"] = "application/json"

  req.body = {
    text: [
      Time.parse(dyno["created_at"]).getlocal("-07:00").strftime('%H:%M:%S'),
      name,
      "`#{dyno["data"]["command"]}`",
      state
    ].compact.join(" ")
  }.to_json

  res = http.request(req)

  return {
    statusCode: 200,
    headers: { "Content-Type": "application/json" },
    body: res.body
  }
end
```

Paste the Slack incoming webhook URL as an environment variable, which is encrypted at rest.

Create an [API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/welcome.html) to make the Lambda function accessible in the Heroku web UI.

## Heroku config

Go to:

```
https://dashboard.heroku.com/apps/YOUR-APP-NAME/webhooks
```

Create a webhook with event type "dyno". Paste the API Gateway URL as the Payload URL.

## Modify to taste

Edit and save the code in Lambda's web-based text editor. Trigger a webhook to test the function. View the auto-created CloudWatch logs for each function call.
Java Design Patterns
Tags: help, java
Published: 2020-07-30 18:39:17

I can't praise Robert Cecil Martin enough, a couple months ago I had to read Clean Code and that book single-handedly changed my perspective on how to write quality source code and the importance of TDD.

Having said that, I came to realize that although my programs run, I may not be designing them properly as I lack knowledge on design patterns.

I'm looking for some guidance, be it personal suggestions on books or courses, anything that may help.

Thank you :D
🔥 Learn Maven Lifecycle Phases in 7 min(with CheatSheet Download)
Tags: testing, tutorial, webdev, beginners
Published: 2020-07-30 18:33:58

Hey BugHunters,  In this video we are going to discuss Maven Lifecycle Tutorial, What is Maven, Maven Goals, Phases in depth.

🔥 Download Maven CheatSheet - https://scrolltest.com/ra/day11

[![ Rest Assured Tutorial](https://i.imgur.com/pPMDVhW.png
)](https://youtu.be/KkABW8GO_Gg "Rest Assured Tutorial")

✅ What is Maven?
Maven is a build automation tool used primarily for Java projects. Maven can also be used to build and manage projects written in C#, Ruby, Scala, and other languages. 

✅ What is Maven Build Lifecycle?
- validate - validate the project is correct and all necessary information is available

- compile - compile the source code of the project
test - test the compiled source code using a suitable unit testing framework. These tests should not require the code be packaged or deployed

- package - take the compiled code and package it in its distributable format, such as a JAR.

- verify - run any checks on results of integration tests to ensure quality criteria are met

- install - install the package into the local repository, for use as a dependency in other projects locally

- deploy - done in the build environment, copies the final package to the remote repository for sharing with other developers and projects.

✅ What is Maven Build Goals
A build phase is made up of a set of goals. Maven goals represent a specific task that contributes to the building and managing of a project.

Sometimes, a maven goal is not bound to a build phase. We can execute these goals through the command line.

The syntax to execute a goal is:
$ mvn plugin-prefix:goal
$ mvn plugin-group-id:plugin-artifact-id[:plugin-version]:goal
Here is an example to execute the dependency tree goal from the command line. It’s not part of any build phases.


mvn dependency:tree

🔥 Download the following dependencies to Maven Pom
https://scrolltest.com/ra/day10

#api #apitesting #restassured #rest #restapi #restassuredtutorial 

P.S: 
This is Day 10 of the 30 days of API Testing challenge Series. Where will learn the Basics before jumping to API Automation.

🚀 All 30 Days Task - https://scrolltest.com/30days/restassured
📌 Join 30 Days Challenge Updates - https://scrolltest.com/tta
🎓 Free Automation MasterClass - https://thetestingacademy.com
📚 REST API testing with Python - https://masterapitesting.com


--
Be sure to subscribe for more videos like this!

[![ TheTestingAcademy](https://dev-to-uploads.s3.amazonaws.com/i/r7vcy6wbvyjbk1y1uu0o.png
)](https://www.youtube.com/TheTestingAcademy?sub_confirmation=1 "TheTestingAcademy")
How to Automate Reading & writing Mailchimp Subscribers from Google Sheets 
Tags: wayscript, googlecloud
Published: 2020-07-30 18:25:06

Introduction
------------

Tools available to help you better engage with customers are evolving quickly allowing you to make the most out of them and reach your business goals. However, some tasks can be repetitive.  
Today we’ll build a script to read or write Mailchimp subscribers from Google Sheet.

Prerequisites
-------------

*   [Working with Google Sheet Trigger](https://docs.wayscript.com/library/triggers/google-sheets-trigger)
*   [Working with MailChimp](https://docs.wayscript.com/library/modules/mailchimp)

Trigger
-------

A trigger is an event that makes your script run automatically without your supervision or any manual action. Wayscript provides a Google Sheet Trigger useful if you want a script to run on newly added information.  
Add it as a trigger.

![Adding the trigger](https://wayscript.com/blog_img/123/1.png)

Once the trigger is added, you’ll have to choose the trigger, the spreadsheet, and the worksheet.

![Configuring the Trigger](https://wayscript.com/blog_img/123/2.png)

After this, you’ll notice new outputs. Here we want to work with the columns, particularly the email column. Here’s is how my sheet looks like.

![Structure of the Sheet](https://wayscript.com/blog_img/123/3.png)

We can select the columns we want to work with and modify the name.

![Modifying the outputs](https://wayscript.com/blog_img/123/4.png)

Adding Subscribers
------------------

The Mailchimp module comes with a lot of functionalities to help you achieve common tasks.

![Adding MailChimp module](https://wayscript.com/blog_img/123/5.png)

After we added the Mailchimp module, we must select the mode. Here we want to add a new member to a list.

![Configuring MailChimp](https://wayscript.com/blog_img/123/6.png)

Once you’ve done this, you’ll be asked to enter the list ID. In your Mailchimp audience dashboard, we can easily find the ID of the list. Just check the URL.

![Image of the ID](https://wayscript.com/blog_img/123/7.png)

We have the email, we have the ID, now we can easily configure the inputs.

![Adding the inputs](https://wayscript.com/blog_img/123/8.png)

The script is ready, now be sure to have your Google Sheet Trigger on and Wayscript will handle the automation for you. :)

Conclusion
----------

Questions about this script or anything else? Join our [discord](https://discord.gg/VWbXSbj). We're always around to help. If you want to work the full script template, just find it [here](https://wayscript.com/user/mangabo_kolawole/Vov-Af1g
            ).
Onboarding Forms - Building SaaS #51
Tags: python, django, saas
Published: 2020-07-30 18:10:12

{% youtube K-BaV7At_So %}

In this episode, we added the first form to collect data in the onboarding flow.  We used a CreateView and defined all the fields that are needed in the HTML form.

I started by filling in the HTML form structure of the page.  Once the dummy version was in place, we changed from a `TemplateView` to a `CreateView` and began fixing each configuration error that the new view type reported as missing like missing a `model` field declaration.

With the form in a working state, I created the next view in the sequence and wired the success state of the form to a redirect to the next step.

At the end of the stream, I talked about the polish that is needed before the page is complete.

This article first appeared on [mattlayman.com](https://www.mattlayman.com/building-saas/onboarding-forms/).
Why not regexp?
Tags: beginners, design
Published: 2020-07-30 17:59:56

I have been using regexp daily for 8 years now and I have opinions. The most controversial one is that writing regexp to do things in production code is like using dynamite to take care of an ant hill.

I often see regexp used because it *is* so versatile and *can* perform very complex operations. But, regexp is **_hard_** to think about and therefore dangerous. You need a clear head and mental focus and years and years of experience to use it and even then you may still blow off your arm.

Bottom line is that in prod regexp should really be seen as a tool of last resort rather than the first thing you look to.

Given that, where exactly am I using regexp daily? I just use it locally for development in the safety of source control where I can easily revert my mistakes. :)