teleren/devto huggingface dataset:
Emanates: Build a blog on top of GitHub Issues and Actions
Tags: showdev, webdev, devops
Published: 2021-08-23 13:01:21

I am happy to announce the launch of Emanates. This idea came in my mind way back when GitHub launched GitHub Actions.

The idea of Emanates is every GitHub Issue is a blog post and when an issue is created, a workflow is triggered (GitHub Action).

This workflow builds the blog and deploys it to your desired location.

Emanates boasts of some nice features like:

- Improved SEO
- Support for related posts (based on tags added through GitHub Labels)
- Meta tag support along with cover image and other things.
- Markdown support
- Supports comments (through utterances)
- Blazingly fast (since it builds a static site)
- Dark Mode (obviously!)
- Everything on GitHub (no need to trust me)
- Open Source

## [You can check Emanates GitHub here](https://github.com/emanates/emanates-web)

### [Demo site for anyone interested](https://emanates-demo.netlify.app)

I'm attaching a few images to show how Emanates looks.

![Emanates index page](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7fi5kmev0t9931b50u7j.png)

![Emanates Post](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7fi5kmev0t9931b50u7j.png)
Dependency Injection
Tags: beginners, programming
Published: 2021-08-23 12:53:51

## Morgan's Flowers

Morgan owns a flower shop, and it is important that they take delivery of new stock each day so that they can continue to supply their customers. 

## Without Dependency Injection

Ashley pulls into the loading dock in a truck filled with fresh flowers. Morgan accepts the delivery and says, "Thanks, Ashley! I will see you tomorrow!"

Morgan has decided to include Ashley as a valuable part of her system. What happens if Ashley doesn't deliver the flowers tomorrow? What if Ashley changes jobs, gets fired, or just isn't as reliable as Morgan expected? Because Ashley is built into Morgan's business system, Morgan is stuck. To make a change for their business, they are going to have to rebuild the entire supply chain again, interview other drivers, change delivery methods, adjust schedules, etc. Do you see the problem here?

## With Dependency Injection

Ashley pulls into the loading dock in a truck filled with fresh flowers. Morgan accepts the delivery and says, "Thanks!" Morgan doesn't know Ashley, and they don't care if Ashley is driving the truck tomorrow. _Morgan is only interested in taking delivery of the flowers, not who delivers them._ In fact, if Morgan is dissatisfied with the delivery service, they can order the same flowers from a new delivery service.

## Did you find this analogy helpful?

I'd like to write a series of posts like this one that I can refer back to when teaching. There is no code included in this example. Is that an issue? Is there a topic you'd like to tackle in this manner? Let me know!
Tabnine now has a Refer-a-Friend Program!
Tags: ai, productivity, programming, webdev
Published: 2021-08-23 12:42:48

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9uch0vuhnd6ixdqpd8ww.jpeg)

We know many of you already love telling your friends and colleagues about us 😊
Now you can get one month of Tabnine Pro for every friend you refer!
More friends - more Tabnine Pro months for free 🤩
Start here 👉🏽 https://tabnine.com/refer-a-friend
It's been 2 Weeks and , so where im now ? 
Tags: career
Published: 2021-08-23 12:36:31

Its been almost 2 weeks since my first writing . I've been use this time to reflect who am i and what i need to do to improve my self and not to trap with my old self . 

My first step in this journey is to build my habit , a good habit in a day of my life . I've been downloaded this app to measure my productivity which is call [Productive](https://apps.apple.com/us/app/productive-habit-tracker/id983826477) . You wont believe me , how much app i downloaded at that time just to ensure i've a really good productivity app to ensure i will keep checking it and interact with it . I choose this and subscribe for yearly . Okay enough with the app . 

This is a few of habits that i tried to make it as a habit which is 

**Wake up early** 
I try to make it as a habit to wakeup early every morning just to have my own me time , which is i used this time to reflect my self and meditate . 

**Sleep early** 
This is the hardest thing that i try to make it as habit , since when i'm in front of laptop , always lost track of my time , and it cause i'm not so fresh when i'm wake up early .

**Exercise 30 minutes**
I allocate 30 minutes everyday for an exercise . Yeah , my weight increase drastically since i got married . So i need to make sure my health is in good condition in order to have a good productive in my daily life . 

**15 Minutes for an article everyday**
I allocate 15 min for reading an article , it general , not only about the technical but other things also . 

**Early morning coding challenge** 
Since i've experience on failing an interview that asking algorithm style which is i feel really bad hahaha , so i believe its a good way for me to practice my algorithms skill . Nothing to lose , since it could help me to sharpen my problem solving skill . 

**Coding for fun**
Ahh i think , its not all the time doing coding . But i also used this time also to read a lot about other things that related to system design , performance and etc . Because , yeah i've been miss a few years to prepare myself properly with the good practice etc . But it's never to late to make a change !! 

So far i can say , when i practice this habit , i'm starting to be more discipline on my time . Starting to appreciate each minute in my life to be use for something useful for me and also for people around me especially my family . I hope with the start of good habit in my life , i will develop a good mental model and principal in my career .
this twitter personality does not exist 🤥
Published: 2021-08-23 12:34:40

have you ever heard about "this person does not exist"? it is a really cool website only design to achieve one complex task - generating photorealistic photos of humans that just do not exist.  
![Example](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nt97o0m1pwbxf8shuawt.jpg)


you can check it out at thispersondoesnotexist.com , and I can assure you, you will be surprised with how realistic this factional person will look.  

after "this person does not exist" showed up on the internet back in 2019 some new sites started to pop out all over the internet that used the same concept of "this person does not exist" - generating stunning fictional objects, such as humans, cats, art, websites and much more... there is actully a website called ["this x does not exist"](https://thisxdoesnotexist.com) that contains a list of most of them.

![this cat does not exist](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/f7bcsy064eqqi74knt0a.png)

this concept aspired me to use the Twitter API alongside a few more APIs and a couple of hours from my time to transform my personal Twitter account into ["this twitter personality does not exist"](https://twitter.com/ShmuelHizmi), it is simple, every one minute my twitter's name, profile image, banner, and bio information change to present a different character, I went from being myself to being "Mitsuko Bongo", "Marcellus Prima" or "Carlo Behunin" and the race is still going, if you are interested in checking out the project you can find me on Twitter at [@ShmuelHizmi](https://twitter.com/ShmuelHizmi).  

here are a few examples -  

![my twitter](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qvvn75hzripivolp5tih.png)

![my twitter](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/g06qbnz4d954lnr26lcg.png)
Costs of losing an employee
Tags: humanresource, teamleadership, projectmanagement
Published: 2021-08-23 12:33:35

###### I am always posting provoking post on my Linkedin, and I have decided to replicate those here. [Let's socialize!](https://www.linkedin.com/in/alexsandro-souza-dev)

Are you aware that as an employee, you are an "appreciating asset."?  Do you know that you are a high "cost" to the organization before becoming valuable?

The longer you stay with an organization, the more productive you get - you learn the systems, learn the products, and learn how to work together.

Many studies show that the total cost of losing an employee can range from tens of thousands to 1.5-2X annual salary.

Some costs of losing an employee:
- The cost of hiring a new employee includes advertising, interviewing, screening, and hiring. Some companies use external recruiters who charge a fee, typically 15–25% of one year's salary.

- The cost of onboarding a new person, including training and management time - Ramping up new employees takes months and may also require significant time from your existing team for mentorship and training.

- Customer dissatisfaction—for example, new employees take longer and are often less adept at solving problems.

- Employee vacancy - It takes roughly eight weeks to go through the recruitment process - Waiting means losing money. 

- Cultural impact (whenever someone leaves, others take time to ask "why?")

I could add more cost to this list, but you already got how costly it can be for a company to replace a human asset, right?

Now imagine all that cost to end up getting a bad employee. 

Without performing the proper tests during the hiring process, you could be saddled with a bad dev at the same price as a great employee.

I have already blogged how interview tests are designed to exclude good engineers. You may want to check it out! 

In summary, losing an employee is expensive; employee retention has become a critical issue; investing in the hiring process is a must-have

https://www.linkedin.com/posts/alexsandro-souza-dev_humanresources-teammanagement-enterprenuership-activity-6822794943174631424-w99B
📲 Async Await in Swift
Tags: swift, mobile, programming
Published: 2021-08-23 12:31:24

### A Guide to fully understand the new concurrency system in Swift.

### <br>

This year, WWDC came with a bunch of new features and updates. Maybe one of the most expected was the introduction of the new concurrency system by using async/await syntax. This is a huge improvement in the way that we write asynchronous code. 

## Before Async/Await

Imagine that we are working on an app for a grocery store and, we want to display its list of products. We are probably going to have something like this:

```swift
func fetchProducts(_ completion: @escaping([Product]) -> Void) {...}

var products = [Product]()
fetchProducts { [weak self] products in
    guard let strongSelf = self else { return }
    strongSelf.products.append(contentsOf: products)
}
```

A pretty standard and well-known code using completion blocks. Now suppose that the grocery store has, once in a while, some kind of offers for some products (e.g., "Take 2, pay 1"). And, we want to hold a list with these offers. Let's adjust our code by creating a new function to retrieve a String with the promotion text, given a specific product.

```swift
func fetchProducts(_ completion: @escaping([Product]) -> Void) {...}
func getOffer(for product: Int, @escaping(String) -> Void) {...}

typealias ProductOffer = (productId: Int, offer: String)
var products = [Product]()
var offers = [ProductOffer]()

fetchProducts { [weak self] products in
    guard let strongSelf = self else { return }

    for product in products {
        strongSelf.products.append(product)

        getOffer(for: product.id) { [weak self] offerText in
            guard let strongSelf = self else { return }
            let productOffer = ProductOffer(productId: product.id, offer: offerText)
            strongSelf.offers.append(productOffer)
        }
    }
}
```

We only have two nested closures for a simple feature, and you can see that our code starts to get a little messed up.


[Read more](https://auth0.com/blog/async-await-in-swift/?utm_source=content_synd&utm_medium=sc&utm_campaign=swift)
Climate Change Jobs for Software Engineers
Tags: career, software, jobs, developer
Published: 2021-08-23 12:07:27

So I was scrolling through my feed, when this popped up:
![terra.do climate change job fair](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/apv70s135js8t4gw6d5f.PNG)

A job fair for software engineers to help with climate change!

As someone looking for a job, and climate change being a massive concern to me, it seemed like a no brainer to sign up. I thought I'd share the resource with others as well in case they might be interested! 

*August 25th* [Job Fair](https://www.terra.do/climate-jobs-fair/professionals/)
A Nice Developer Joke For Today
Tags: jokes, dailydeveloperjokes
Published: 2021-08-23 12:00:25

---
title: "A Nice Developer Joke For Today"
description: "Check out today's daily developer joke! (a project by Fred Adams at xtrp.io)"
series: "Daily Developer Jokes"
published: true
tags: #jokes, #dailydeveloperjokes
---

Hi there! Here's today's Daily Developer Joke. We hope you enjoy it; it's a good one.

![Joke Image](https://private.xtrp.io/projects/DailyDeveloperJokes/public_image_server/images/5e1258a197fb7.png)

---

For more jokes, and to submit your own joke to get featured, check out the [Daily Developer Jokes Website](https://dailydeveloperjokes.github.io/). We're also open sourced, so feel free to view [our GitHub Profile](https://github.com/dailydeveloperjokes).

### Leave this post a ❤️ if you liked today's joke, and stay tuned for tomorrow's joke too!

_This joke comes from [Dad-Jokes GitHub Repo by Wes Bos](https://github.com/wesbos/dad-jokes) (thank you!), whose owner has given me permission to use this joke with credit._

<!--
Joke text:
___Q:___ Whats the object-oriented way to become wealthy?

___A:___ Inheritance
 -->
Two Sum IV - Input is a BST
Published: 2021-08-23 11:58:37

Given the root of a Binary Search Tree and a target number k, return true if there exist two elements in the BST such that their sum is equal to the given target.

>**Example 1:**
>![image](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0td04jv7e39nzxek2332.png)
>**Input:** root = [5,3,6,2,4,null,7], k = 9
>**Output:** true

**Approach**
>This question is similar to finding if their are two elements in an array such that their sum is equal to the given target.

>This problem can be solved either using BFS or DFS. We will solve this using level order traversal(BFS) which uses **queue data structure** for tree traversing.

>The idea here is initialize an empty set , for every node check if  **target-node.value** is available in set , if it is available return **True** , else add that node value to the set.

>At the end directly return **False** as there is no such elements present in BST.

>The reason why I have chosen set for storing the node values is , **insert and retrieve operations** on set can be done in **O(1) time complexity** as internally set is implemented using **Hashing**.

**Code**

```python
from collections import deque
# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution:
    def findTarget(self, root: Optional[TreeNode], k: int) -> bool:
        queue = deque()
        queue.append(root)
        available = set()
        while len(queue)>0:
            popped = queue.popleft()
            if k-popped.val in available:
                return True
            else:
                available.add(popped.val)
            if popped.left:
                queue.append(popped.left)
            if popped.right:
                queue.append(popped.right)
        return False
```

>**Note:** If anyone want to more about **level order traversal of a tree** , please let me know in comments. I will write a detailed post on **level order traversal**.
Upcoming WebdriverIO Workshop
Tags: javascript, testing, tutorial, beginners
Published: 2021-08-23 11:52:11

### What is WebdriverIO?
WebdriverIO is a popular JavaScript automation tool that lets you automate Web & Mobile applications. It is being used by major companies around the world such as Google, Netflix, Microsoft, Mozilla, and many more…
 
---

### Why this workshop?
WebdriverIO is becoming one of the most popular frameworks in the IT industry due to its scalability and robustness. It is also one of the easiest frameworks to set up and learn with JavaScript. It is actively maintained by the WebdriverIO team and new updates are released quite frequently, which can make it challenging to learn completely on your own.

New updates also make it hard to find content online which is fully up-to-date and can get you off the ground right away. That's why I have created this workshop to take you step-by-step with WebdriverIO to make sure you understand and can apply each concept thoroughly. 

---

### Why you should attend this workshop?
This workshop will take you from installing WebdriverIO to setting up a fully functional test framework. Here are some of the things we will be covering:
- Installation & Set-Up
- Writing Tests
- Setting up the framework
- Page Object Model, Cross Browser Testing and Reporting
- Common Interview Questions
- Ask Me Anything Session

**You will be writing the tests along with me and will have the opportunity to ask me all of your doubts related to WebdriverIO** so that you fully understand each and every concept.

This is just touching the surface, check out the link below to find out more about everything that will be covered in this workshop. 
https://mailchi.mp/3ed2a82cf044/webdriverio-workshop

---

{%youtube zSlr5CnuZ2I %}

---

👍 You can follow my content here as well - 
- [Twitter](https://twitter.com/automationbro)
- [LinkedIn](https://www.linkedin.com/company/automation-bro)

...

You can also support me by liking and sharing this content.

Thanks for reading!
Toolkit for technology leaders
Tags: career, leadership, management, cto
Published: 2021-08-23 11:46:40

Almost two decades ago when I was an engineer, I took great pleasure in getting things done, and being on the ground to execute tasks.

When I first became an engineer manager, I missed that, in fact, I missed that a lot. I felt that if I wasn’t doing any hands-on work, I wasn’t being productive.

It took me a while to understand and accept that planning, strategic thinking and making sure my team can deliver and execute effectively is much more important for an engineering manager.

_Being a leader is a privilege._

With that, I encourage you to enjoy your role as an engineering leader. If you are in a situation that is less than ideal, use your privilege and energy to make things better instead of feeling helpless.

* Leverage this Toolkit as a guide and use the master checklists consisting of steps & recommendations to help you think through important factors.
* Explore the resources provided to dig deeper into any particular topic.
* Use templates, posters and decks provided to fast-track your application of knowledge. 

However, remember that no tool can replace your critical thinking and empathy.

[![CTO Toolkit](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/67l1g79rol5o7763mvmr.png)](https://gum.co/ctotoolkit)

As a CTO, VP of Engineering or a Senior Technology Leader, you have the power and responsibility to make a great impact on your people, your teams, your organisation and your customers.

This [Toolkit](https://gum.co/ctotoolkit) is not just about strategy nor is it just a list of steps; it is about how to think, plan, lead, communicate and execute in a way that encourages accountability, improves creativity, and moves your technology organisation forward in the post-Covid future.

Use coupon code `gift` to get $50 off as a DEV reader.
What Is a Front-End Developer?
Tags: frontend, javascript, html, css
Published: 2021-08-23 11:29:58

Front-end developer is also known as client-side development is the practice of producing HTML,CSS and JavaScript for web apps so that user can see and interact with them. They do this through the combination of design, technology and programming to code a application appearance, as well as taking care of debugging. The objective of designing a site is to ensure that when the users open up the site they see the information in a format that is easy to read and relevant.

###### Some common tasks of Front End Developer
* Optimizing the user experience.
* Developing and maintaining the user interface.
* Using HTML,CSS and JS to bring concepts to life.
* Fixing bugs and testing for usability.


## Thanks for reading.

### Happy to connect Here!!

[Github](https://github.com/Manpreet-hub)
[linkedIn](https://www.linkedin.com/in/manpreet-singh-912ba3171/)
6 months intern as a Software Engineer, GeeksforGeeks
Published: 2021-08-23 11:22:13

I was in my 3rd year, during the end of January 2021, I was approached by GeeksforGeeks Hiring team to join immediately as an intern. I wasn't sure about taking the opportunity, as it was an in-office opportunity. Later, talked with some of my friends, and decided to give it a shot.

I gave my interviews, it consisted of DSA round, and then web development round. After that last round, was by HR to ask me when I will be able to join the team at Noida, Uttar Pradesh. I replied as 8'th February. Soon got the offer letter, it was my first paid internship so it was a happy moment for me.

On the first day, I visited the office, it was a not so big, but spacious enough. I was assigned the Auth team of GeeksforGeeks. [Shubham Baranwal](https://www.linkedin.com/in/shubham-baranwal-55698260/) was the team lead. He told me to go through the basics of git, bitbucket, jira, php, amazon dynamoDB, as I will be working on these technologies.

After one week, I was aware about some of the workings of these technologies. I received my first task, and was assigned [Saurav Prateek](https://www.linkedin.com/in/saurav-prateek-7b2096140/) as my mentor or guide during internship. He taught me almost everything from creating branches using git, making API's, improving code quality, reviewed my code before sending it to merge to solving my silliest of doubts. I couldn't have wished for a better mentor.

After one month, I even got to attend team party at one of the clubs in Delhi. It was so much fun. During mid April, corona cases again started to increase, and everyone was told to go back home. The situation only got worse after that. After that, 4 months of my internship were spent doing work from home. It was not that much fun as office. Though, I got lot of time to do other things.

This was my first time working as a professional, and all of it was worth it. Thanks to GeeksforGeeks!
Path Environment Variable Quick Switcher for PowerShell
Tags: powershell
Published: 2021-08-23 11:17:21

You may want to turn on and off the `PATH` environment variable, for example, when you use UNIX tools with MSYS2.

It's annoying like this.

```powershell
» $prevPath = $Env:Path
» $Env:Path = "$Env:MSYS2\bin;$Env:MSYS2\mingw64\bin;$Env:Path"
» # do some work with MSYS2
» $Env:Path = $prevPath
```

Or you may want to change each version of compilers.

**powershell-path-switcher** supports this.

{% github kakkun61/powershell-path-switcher %}

[PowerShell Gallery](https://www.powershellgallery.com/packages/path-switcher/)

## Interactive select

A quick view is at [this video](https://user-images.githubusercontent.com/282593/130179275-62a876d7-4e93-488a-93b8-7688535251d6.mp4).

Prepare a configuration file,

```yaml
# $Env:ProgramData\powershell-path-switcher\config.yaml
msys2-usr:     C:\tools\msys64\usr\bin
msys2-mingw64: C:\tools\msys64\mingw64\bin
```

and invoke `Switch-Path`.

```
» Switch-Path
> [ ] msys2-usr: C:\tools\msys64\usr\bin
  [ ] msys2-mingw64: C:\tools\msys64\mingw64\bin
```

You can move its cursor (`>`) up/down with ↑/↓ keys, select (check by `x`) with the space key and reflect with the enter key.

When you want to remove a specified path from the `PATH` variable, you can delete it by removing its check mark (`x`).

For more information see a [README](https://github.com/kakkun61/powershell-path-switcher#readme).