teleren/devto huggingface dataset:
How to Hire Remote Developers in the USA?
Published: 2021-08-06 12:12:14

While you have a great mobile app idea, it might be that you don't know how to hire remote developers that can be the perfect fit for your project.

We can help you hire a perfect fit. First of all, you need to come up with a 'job ad'. But yes, don't forget to specify what your needs are. Write your requirements, the position you're looking for, the skills you require, how much experience you need, etc. Agreed that hiring a remote developer is a bit hard, but by following these steps, you will nail it. 

Secondly, let the job prospects know the kind of app/website solution you're trying to build. Is it an MVP or a complex app? The kind of app you want will directly influence the developer you need. At the same time, you should know that remote developers charge around $7000 - $15,000 for approximately two months for developing simple apps. And if it's a complex app - remote developers charge around $50,000 - $1,00,000 for 4-7 months. Choose wisely. 

Also, if you want to [hire remote developers](https://www.cerdonis.tech/blogs/complete-process-of-how-to-hire-remote-developers/), reflect on the category of your app. For example, if you ideate a gaming app, your budget should be high compared to other app categories. If you hire remote developers from the US, they will charge $50 - $100 for your project. While the cost in Eastern Europe is comparatively less, that is around $20. 

Even job platform matters, we recommend you find developers on freelance marketplaces like upwork.com or toptal.com. Choosing a remote development company is also a great idea; it will help you find a whole development team of experts instead of searching for individual talent. After putting in your job ad, applications will start flowing in; note red flags and choose only the top 5. Then, interview them, ask questions, test their knowledge, and hire the best one you feel.
JavaScript Demystified: Hoisting
Published: 2021-07-20 11:09:30

Hello Devs! In this blog, I'll walk you through the concept of hoisting in JavaScript. Before we begin, go through the first blog of this blog series, if you haven't already.

##What is hoisting

Hoisting is a phenomenon in JavaScript by which you can access the functions and variables even before declaring them in your program, without getting an error.

Let's see it with an example:

```

var x = 10;

function greet(){
  console.log("Hello world!");
}

console.log(x);

greet();

```

Output:

```

10
Hello world!

```

The above program is pretty simple and straightforward. Let's see what happens when we try to access the variable and the function before declaring them.

```

console.log(x);

greet();

var x = 10;

function greet(){
  console.log("Hello world!");
}

```

Output:

```

undefined
Hello world!

```

If you have read the [first blog](https://dev.to/saran_chakravarthi/javascript-demystified-the-execution-context-and-the-call-stack-2gka), you already know why this is happening. whenever we run a program, an execution context is created, and it is executed in two phases, the memory allocation phase and the code execution phase.

During the memory allocation phase, memory will be allocated for variable X and it will be assigned with the value "undefined", similar memory will be allocated for the function greet and it will be assigned with the original function definition.

The value of X will be undefined, until and unless we reach the variable assignment of X , during the code execution phase. 

In the second example, we are trying to access the variable even before assigning it with a value, that's why it's value is printed as undefined.

###Undefined Vs not defined:

Undefined and not defined, are they the same? No. As we seen in the last blog, undefined is kind of a special placeholder keyword.

Not defined is an error, which is thrown when you try to access a variable which is nowhere declared in your program.

###Arrow functions and function expression:

If you try to access Arrow functions and function expression before declaring them in your program, it will throw an error saying "Typeerror".


```

greet();

var greet = function(){
  console.log("Hello world!");
}

```

```

greet();

var greet = () => {
  console.log("Hello world!");
}

```

If you try to run either of the above code snippets, it will result in the following error:

```

TypeError: greet is not a function

```

Why? Because in this case, the function is assigned to a variable, so it's value is stored as "undefined". Hence the error.

Note: let and const variables will behave differently from var, it will be covered in the upcoming blogs.

###What's next:

I hope you liked this blog, In the next blog, we will dive deep into functions and variable environment. Follow me to receive the notification.

Want to connect with me? You can DM on Dev.to and [twitter](https://twitter.com/SaranChakravar3).
How to copy and paste chart formatting in Excel 365?
Tags: copyandpastechartfor
Published: 2021-08-07 06:17:41

---
title: How to copy and paste chart formatting in Excel 365?
published: true
date: 2021-08-06 12:01:52 UTC
tags: CopyAndPasteChartFor
canonical_url: https://geekexcel.com/how-to-copy-and-paste-chart-formatting-in-excel-365/
---

If you want to create a different type of chart in Excel Spreadsheet, you can follow the below-given steps. In this guide, we will discuss how to  **Copy And Paste Chart Formatting In Excel 365**. Get an official version of ** MS Excel**  from the following link: [https://www.microsoft.com/en-in/microsoft-365/excel](https://www.microsoft.com/en-in/microsoft-365/excel)

## Copy and paste Chart

- Firstly, you have to enter the **data** in the Excel worksheet.
- For instance, we have shown the **student’s mark list**.

![](https://geekexcel.com/wp-content/uploads/2021/08/ex-table.png)<figcaption>Mark list Table</figcaption>

- You have to **select the table** and click on the **Insert tab**.
- Then, you need to **select the chart** under the **[Chart](https://geekexcel.com/create-bar-charts-in-excel-office-365-simple-easy-steps/)**section.

![](https://geekexcel.com/wp-content/uploads/2021/08/select-the-chart.png)<figcaption>Select the chart</figcaption>

- After selecting the chart type, you will receive the student’s details in the chart format.

![](https://geekexcel.com/wp-content/uploads/2021/08/chart-format.png)<figcaption>Mark list in chart format</figcaption>

- Now, you have to select the table and press **Ctrl + C** to Copy the table.
- After that, you need to go to the **Home tab** and click on the **Paste ** options from list and then select  **Paste special**  as shown below.

![](https://geekexcel.com/wp-content/uploads/2021/08/click-on-paste-special-option.png)<figcaption>Click on paste special</figcaption>

- Then, you will receive a dialog box showing the type of **formatting** you need to **Paste**.

![](https://geekexcel.com/wp-content/uploads/2021/08/types-of-format.png)<figcaption>Types of paste format</figcaption>

- Now, you need to select the **Formats** option and Click **Ok**.

![](https://geekexcel.com/wp-content/uploads/2021/08/click-on-format-option.png)<figcaption>Click on the Format option</figcaption>

**Check this too** : **[Excel Charts Types In Office 365!](https://geekexcel.com/excel-charts-types-in-office-365/)**

## Verdict

In the above article, you can clearly understand the steps to **Copy And Paste Chart Formatting In Excel 365. ** We have given the clear-cut screenshot and easy steps for your better understanding. Share your **feedback** in the comment section. Thanks for visiting **[Geek Excel.](https://geekexcel.com/)** Keep Learning!
Today's Fun Joke For Developers - Daily Developer Jokes
Tags: jokes, dailydeveloperjokes
Published: 2021-08-06 12:00:19

---
title: "Today's Fun Joke For Developers - Daily Developer Jokes"
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/5e125894734cf.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:___ What diet did the ghost developer go on?

___A:___ Boolean
 -->
Stack too deep, try removing local variables 
Published: 2021-08-06 11:52:26



while compiling in remix i get the above error:

 ` CompilerError: Stack too deep, try removing local variables.
    `
    
  `(uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tLiquidity, tCharity, tMarketing, _getRate());`

here is the code part

   `function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256, uint256, uint256) {`

    `(uint256 tTransferAmount, uint256 tFee, uint256 tLiquidity, uint256 tCharity , uint256 tMarketing) = _getTValues(tAmount);`

    `(uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tLiquidity, tCharity, tMarketing, _getRate());`

    `return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tLiquidity, tCharity, tMarketing);
} `
Feature flags in your Symfony project 🌱
Tags: programming, php, symfony
Published: 2021-08-06 11:36:26

Feature flag, or also known as Feature switch, is a functionality that allows to your app to enable or disable some parts on runtime depending on your needs.

## Why?
There are many reasons to implement feature flags in your project:

1. An specific feature must be available for a single customer at first.
2. You have to deploy it but it's not finished yet.
3. Feature is production ready but there is an specific date to be available to public API...

## How?
First of all, let's create an interface to abstract the implementation:

```php
interface FeatureChecker
{
    public function isEnabled(string $feature): bool;
}
```

At this point, we can implement it in several ways. Let's see the easiest one: In Memory implementation

```php
class InMemoryFeatureChecker implements FeatureChecker
{
    private array $features;

    public function __construct(array $features = [])
    {
        $this->features = $features;
    }

    public function isEnabled(string $feature): bool
    {
        return $this->features[$feature] ?? false;
    }
}
```
If using Symfony, we can use Service Container to set that feature flags in a `yml` file when injecting the `FeatureChecker` in our code:

First, we should register our service:

```yml
services:
    InMemoryFeatureChecker:
        public: true
        arguments:
            - '%features%'
```

Then, using Service Container parameters we set the argument:

```yml
parameters:
    features:
        {
            foo: false,
            bar: true
        }
```

## Example

Let's imagine following situation: you have an endpoint that shouldn't be active yet, but it is already implemented:

```php
class SomeController
{
    private FeatureChecker $featureChecker;

    public function __construct(FeatureChecker $featureChecker) 
    {
        $this->featureChecker = $featureChecker;
    }

    public function __invoke(Request $request): JsonResponse
    {
        if (false === $this->featureChecker->isEnabled('foo')) {
            // throw exception to exit endpoint
        }
    }
}
```

## Conclusion

Having the interface, you can implement it as better fits to your requirements (from yml files, from redis, mysql...).

Using feature flags, you have a tool to enable / disable easily features of your application.

Our approach has been really basic, but can be extended  containing more info about user, quota usage, timestamp to be available from specific moment...
Triggering Github workflows from other repositories, now with locking
Tags: github, redis, devops
Published: 2021-08-06 11:17:15

OK, so we live in a world of automation and GitHub Actions, because nobody wants to deploy things themselves, right?

Sometimes you have multiple repositories, because code separation is fun and we need to be able trigger downstream builds in a different repository using github actions.

Easy, you say? Comes out of the box with GitHub Actions...

Repository A:
```
...
    - name: Trigger my downstream workflow
        run: |
          curl -XPOST -u "${{ secrets.GIT_CREDENTIALS }}" -H "Accept:application/vnd.github" -H "Content-Type:application/json" https://api.github.com/repos/path/to/workflow.yml/dispatches --data '{"ref": "main" }'
...
```

Repository X:
```
name: Deploy Repo X
on:
  workflow_dispatch:
    inputs:
      source:
        description: 'Source of event'
        required: false
        default: 'No source specified'
...
```

...and off we go. Easy peasy.

But there's a downside here. Let's say we've got multiple repositories that all need to do the same thing. If any of Repos A, B, C & D change they need to trigger a build of Repo X. 

Great. No problemo.

However, if all 4 repos change at once, we get 4 builds. That'll tie up the build system for an hour. Horrible log jam. Angry developers. The works. And GitHub don't provide any kind of build throttling (are you listening GitHub? ARE YOU???)

What we need is a way to prevent multiple repos from submitting a new pending job if one of its siblings had recently done the same thing.

Sounds like a job for Redis (he said with the benefit of hindsight). 

```
SET buildlock 1 NX EX 180
```
enables us to set a buildlock key in Redis with an expiry of 3 minutes. The important thing here is that if the key is successfully set, Redis returns "OK", otherwise "(nil)".

So, without further ado, here's a way of only firing workflows on an upstream repo if _something else_ hasn't recently done so:

```
name: Update components
on:
  push:
    branches:
      - main
jobs:
  TriggerPlatformDeploy:
    runs-on: ubuntu-latest
    timeout-minutes: 20
    env:
      ENVIRONMENT: "dev"
    steps:
      - name: Install redis CLI
        run: |
          sudo apt-get install redis-tools -y
      - name: Check for recent push lock
        run: |
          didSet=$(redis-cli -a ${{ secrets.REDIS_TOKEN }} -h ${{ secrets.REDIS_URL }} -p$ {{ secrets.REDIS_PORT }} --no-auth-warning SET buildlock 1 NX EX 180)
          echo "didSet=$(echo $didSet)" >> $GITHUB_ENV
      - name: Trigger workflow if not locked
        if: env.didSet == 'OK'
        run: |
          curl -XPOST -u "${{ secrets.GIT_CREDENTIALS }}" -H "Accept:application/vnd.github" -H "Content-Type:application/json" https://api.github.com/repos/path/to/workflow.yml/dispatches --data '{"ref": "main" }'
      - name: Workflow is locked
        if: env.didSet != 'OK'
        run: |
          echo Suppressing build trigger because another repo has triggered within 3 minutes
```
How to Disable Widget Block Editor in WordPress?
Tags: wordpress, widget, plugin, disablewidgetblockeditor
Published: 2021-08-06 11:04:44

In the latest version of [WordPress 5.8](https://wordpress.org/download/?u=t&m=o#download-install) comes with some new features and one of them is Widget Block Editor. Widget block editor has based on the Gutenberg editor that you have in post add/edit.

So here, we will see how to disable the widget block editor in WordPress and get back to the classic editor.

__Using the use_widgets_block_editor__

Just add the following one-line code in your active theme’s functions.php file and save it.

```
add_filter( 'use_widgets_block_editor', '__return_false' );
```

__Using the rempove_theme_support__

The function remove_theme_support(‘widget-block-editor’) will disable the block editor. See the code below.

```
function disable_wbe_theme_support() {
    remove_theme_support( 'widgets-block-editor' );
}
add_action( 'after_setup_theme', 'disable_wbe_theme_support' );
```

__Using the Plugins__

You can also use the plugin to disable the block widget editor and get back your classic widget area.

You need to just install the plugins and activate it and follow the settings if they have one.

The are the two plugin to disable the widget block editor.
<ul>
    <li><a href="https://wordpress.org/plugins/classic-widgets/">Classic Widgets</a></li>
    <li><a href="https://wordpress.org/plugins/disable-gutenberg/">Disable Gutenberg</a></li>
</ul>

You can see full tutorial on [disable widget block editor](https://yourblogcoach.com/how-to-disable-widget-block-editor-gutenberg-in-wordpress/?u=t&m=o) and how to install plugins.
Different Methods to Convert PST to MSG File Format
Tags: psttomsg, pstconverter, psttomsgconverter
Published: 2021-08-06 10:56:30

You are probably looking for a solution to convert PST files to MSG format. This blog will cover all aspects of the conversion from PST to MSG files with all attachments. This blog will assist you in multiple conversions of all your PST files in one go. What is the best way to convert PST files into MSG?

<h2>Several Reasons For Migration Outlook PST to MSG</h2>

It doesn't matter if it is personal or professional data; the database is vital. Users may want to convert their PST files into MSG format because of uncertain circumstances. Below are some reasons why.

<ul>
<li>Large file sizes can lead to corruption. Users want to convert PST files into MSG.
</li>
<li>Sharing an email with another person is a common task. Outlook and other email clients offer options for forwarding emails. But what if you need to select more than one file from your received files list?
</li>
<li>Let's say you have 500+ items stored in your mailbox. Then you get a call asking you to send them some emails.
</li>
</ul>

Two methods can solve these problems.

Manual Solution: This method works best if you have less than 20 emails.

Automated Solution: Third-party software that converts PST to MSG quickly and without any risk of data loss.

<h2>Manual Method to Export PST to MSG</h2>

Follow the steps below:-

<ol>
<li>Log into Outlook > Select Inbox>Choose Mail>Drag the mail to the desktop.</li>
<li>Select files to be exported in PST.</li>
<li>Zip the folder of MSG file files you already created using any tool. Make a folder with MSG files, and zip it.</li>
<li>Create the New mail, then attach the folder.</li>
<li>Although this is the fastest method, it cannot be very easy if you have multiple files that you want to export. Select one file and drag each mail to windows. Any third-party tool can be used for quick and secure bulk conversion.</li>
</ol>

<h2>Professional Method: To Convert PST into MSG File</h2>

It would easily convert PST Files to MSG. This tool can help you start from scratch. The <a href="https://www.convertertools.org/pst/msg/">PST to MSG Converter</a> GUI is easy-to-use and user-friendly. You don't need to have any technical knowledge to install or run it. The software protects your data during the conversion process. It preserves the original data. It also saves time. Click the link to download the demo version.

<h2>Final Thoughts</h2>

This article will show you how to convert PST file format to MSG. You can also use a third-party PST converter tool. It is more time-consuming to convert each file manually. However, with third-party software, you can quickly and securely convert many files in one click.
Olon: once upon a time a dependency was forked
Tags: foos, web, scala, lift
Published: 2021-08-06 10:45:21

This is a tale about how at my company we are fixing a missing version of an important web dependency we are trying to use.

The web dependency is called Lift, it's an old project but it's very powerful and specially it's very secure (one of the most secure web frameworks out there).

With time the attention around Lift was sadly shrinking and shrinking in pro of the "new kids on the block" like Svelte, React, Elm and others.

This lack of attention reach a point where commit approvals took months and new releases are not available in a long time.

BUT ...

Lift is free open source software, meaning we can fork it and try to make the improvements and fixes ourselves and even release it again to the public as a way to give back to the community.

Of course this should be done with all the respect of the world, Lift exists because of the love of its original author and all the valuable contributors along the years.

The fork is called Olon and you can give it a check at https://github.com/talenteca/olon-web-framework.

Olon is trying to provide an updated Lift for Scala 2.13 version with a couple of security recommendations included.

Olon is free open source software too, of course, and it's released as a derivative work of Lift keeping the original Apache License 2.

The journey starts !!
Set up the M1 Mac for frontend development in no time
Tags: m1, homebrew, javascript
Published: 2021-08-06 10:29:47

As you don't switch computers everyday, this blogpost will provide a guide how to set up your new M1 Mac for frontend development in no time.


## 💾 Prerequisites 💾
Save all your data from you old computer, that you also want or need on your new computer. Make sure not to forget your configuration files and ssh keys.

If you have used [Homebrew](https://brew.sh/) to install all your programs, now you can simply type

`brew bundle dump --file=brewFile.txt`

into the terminal. This command will generate a `.txt` file with all installed programs.

This is how my minimal brew file for frontend development looks like:

```
tap "homebrew/bundle"
tap "homebrew/cask"
tap "homebrew/cask-fonts"
tap "homebrew/core"
brew "fish"
brew "git"
brew "node"
brew "nvm"
brew "starship"
brew "yarn"
cask "firefox"
cask "font-fira-code"
cask "font-fira-code-nerd-font"
cask "snagit"
cask "visual-studio-code"
```


## 👩‍💻 Turn on your new M1 Mac 👩‍💻

Open a terminal and type
`/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"` [Homebrew](https://brew.sh/).

You will get a warning, telling you that:

`Warning : /opt/homebrew/bin is not in your PATH in macOS Big Sur.`

To fix this make sure to set the path in your shell correctly. When you are using [fish](https://fishshell.com/) simply add 
`set -x PATH /opt/homebrew/bin:$PATH
` to your `.config/fish/config.fish`. 

For the zsh or the bash the syntax is slightly different and you would add `export PATH=/opt/homebrew/bin:$PATH` to your `~/.zshrc` or `~/.bashrc`.

To install all your programs you simply have to copy the previously generated `brewFile.txt` to your new computer and call 

`❯ xargs brew install < brewFile.txt`

This will install all your programs.


## ✨ Using NodeJS with M1 Mac ✨

If you need to use NodeJS with a version minor than 16 you need to switch the arch. To do so, create a clone of your terminal.
![clone terminal](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ckxlk8hfg624oqbtzu6r.png)

Press Command-I (or right-click/use the File menu and select Get Info.) for the selected cloned terminal. This will open an info window with details about the app. Check "Open using Rosetta". 

![Info](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8qsw1sadnumtgyrcfwil.png)

Et voilà: Now this terminal will use the [Rosetta translation layer](https://developer.apple.com/documentation/apple-silicon/about-the-rosetta-translation-environment) and run the intel version when opening up this terminal. 

When you type `arch` into the terminal you should see either `arm64` or when using the translation layer `i386`.

If needed you can also enable or disable Rosetta for other apps. Check [https://isapplesiliconready.com/](https://isapplesiliconready.com/) for more information.

With the help of Homebrew and the Rosetta translation layer switching to the new M1 Mac is really easy. ❤️