teleren/devto huggingface dataset:
Listen to the S7E3 of DevDiscuss: "Getting a Read on Tech Publishing"
Tags: discuss, podcast
Published: 2021-11-24 18:56:56

---
title: Listen to the S7E3 of DevDiscuss: "Getting a Read on Tech Publishing"
published: true
description: Listen to S7E3 of DevDiscuss!
tags: discuss, podcast 
series: DevDiscuss Season 7
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bw6erk0het8h9qzepteh.png
---

## There might be a book inside of you waiting to be written. Let's explore that in this week's episode of DevDiscuss...


{% podcast https://dev.to/devdiscuss/s7-e3-getting-a-read-on-tech-publishing %}

_Quick refresher — DevDiscuss is the first original podcast from DEV all about the burning topics that impact all our lives as developers._

**Episode Info** 

In S7E3, we talk about the fascinating world of tech publishing. If you're here on DEV contributing content, this episode is made for you!


### Hosts:
- @ben — Creator of DEV & Co-Founder of Forem
- @coffeecraftcode — Developer Advocate at Forem
  
### Guests: 
- [Katel LeDû](http://twitter.com/@theledu) is the CEO of A Book Apart, where she helps passionate tech community members become successful authors. She’s also a personal and professional transformation coach, focused on helping folks cultivate creativity, develop social awareness in themselves and at work, and embody sensitivity and empathy as superpowers.

Let us know your thoughts on this show in the comments below — or on Twitter ([@thepracticaldev](https://twitter.com/thepracticaldev) ).

![Speakers](https://media.giphy.com/media/qZelsWAXfWpAA/giphy.gif?cid=ecf05e47ddu6jql6tkj8kvdmj4z5ofal65l38f235ruuinlo&rid=giphy.gif&ct=g)

---

_You can [follow DevDiscuss](dev.to/devdiscuss) to get episode notifications and listen right in your feed_ — or subscribe on your platform of choice! Plus, if you leave us a review, we'll send you a free pack of thank-you stickers. Details [here](https://airtable.com/shr8oKAIMZgdYnBxx). 

## Quick Listening Links
- [Apple Podcasts](https://podcasts.apple.com/us/podcast/s7-e3-getting-a-read-on-tech-publishing/id1513053883?i=1000542927515)
- [Spotify](https://open.spotify.com/episode/75aoNPdGIKUREVuIxsAaua)
- [Google](https://podcasts.google.com/feed/aHR0cHM6Ly9mZWVkcy5kZXZwb2RzLmRldi9kZXZkaXNjdXNzX3BvZGNhc3QueG1s/episode/aHR0cHM6Ly9kZXZwb2RzLmRldi9wb2RjYXN0cy9kZXZkaXNjdXNzLzUy?sa=X&ved=0CAQQkfYCahcKEwjA4PPM1rH0AhUAAAAAHQAAAAAQCg)
- [Listen Notes](https://www.listennotes.com/podcasts/devdiscuss-dev-xtQvoDylAUg/)
- [TuneIn](https://tunein.com/podcasts/Technology-Podcasts/DevDiscuss-p1324596/?topicId=167986563)
- [RSS Feed](http://feeds.codenewbie.org/devnews_podcast.xml)
- [DEV Pods Site](http://devpods.herokuapp.com/podcasts/devdiscuss/episodes/232)

---
_Acknowledgements_ 
- _@levisharpe for producing & mixing the show_
- _Our season seven sponsors: [Microsoft](https://www.microsoft.com/en-us/dev-community/Event/Register?eventId=DevDiscussPodcast_o7nllI4cp4Vg&ocid=aid3038582), [New Relic](https://developer.newrelic.com/), & [Vultr](ource=devdiscuss&utm_medium=syndication&utm_campaign=october21)!_
Meta & Canonical Tags
Tags: hugo, seo, portfolio, canonical
Published: 2021-11-24 18:42:53

So I need to do some meta work. I've touched on the Hugo theme that I built for my home page [here](https://www.eamonncottrell.com/2021/11/portfolio/), but this only covered the very basics of going live. Time to add some details!

I've already added a few meta tags to my head, but I'd like to dynamically generate the meta description depending on which page is being viewed.

I'd also like to add canonical tags to each page. Same deal here--they should be generated uniquely for every page on the site.

I've been checking out a primer on SEO from [Monica Lent](https://monicalent.com/), and implementing some of the basic suggestions she's going through on her weekly videos.

The first suggestions include adding a browser extension to check out several things at a glance. Opening the developer console is the sure fire bet here, but I'm pretty happy for her recommendation of an extension to get a real quick snapshot of some basics like title, description, url, canonical, etc. 

I went with [Detailed](https://detailed.com/extension/).

In Hugo, which I'm using to generate my personal web portfolio, I've currently got the meta description set statically for the whole site, regardless of the page. 

That's not cool.

So, I'm going to add a bit of code to modify that and allow me to include a custom description for each page, if it contains one. Otherwise, it can just have the main site description to fall back on.

Hugo's conditional statement formatting is a little wonky for the unfamiliar, but it was pretty simple once I got the syntax down:


``` go
{{ if .Params.description}}{{.Params.description}}{{else}}{{.Site.Params.Description}}
```

If there's a description in an individual page's front matter, then that'll be used for the meta description. If not, it'll fall back to the site's description which I've got plugged into the config.toml.

I've also added a description field to each of my archetypes so any page I create will have that in the front matter. 

I've added this to the main pages.

For URL canonization, I simply added 
``` html 
<link rel="canonical" href="{{.Permalink}}">
``` 
to the head template for every page.

Hugo has some interesting content-management information regarding links, URLS and Canonicalization available in their docs [here](https://gohugo.io/content-management/urls/), but I found that the simple Permalink in each of my pages' head was sufficient for my purposes.

Thanks for reading! This article was originally posted on my blog, and I hope you'll check it out: https://www.eamonncottrell.com/
How To Hire the Right Bubble Developer
Tags: nocode, lowcode, hiring
Published: 2021-11-24 18:31:42

---
title: How To Hire the Right Bubble Developer
published: true
description: 
tags: nocode, lowcode, hiring
//cover_image: https://direct_url_to_image.jpg
---
🤔 Did you know that no-code is the future? No-code development is fast becoming the ideal option for startups, small businesses, and enterprises to build and scale products quickly. 

One of the amazing no-code tools in the space is Bubble, an app that lets you build websites and web apps without coding.

If you’re considering building your product on Bubble and hiring Bubble developers, my team wrote a comprehensive guide on [hiring Bubble developers](
https://welovenocode.com/hire-bubble-developers).

Those are the top 5 benefits of hiring a Bubble developer:

1. Low-cost: Although it can be more expensive to hire full-stack developers, the cost is much lower when hiring a Bubble developer.

2. Faster development: The process of writing custom software is much faster when using no-code tools, so you'll have your new application in a shorter time frame than hiring full-stack developers.

3. Better quality: Because no-code tools allow you to write code without much overhead, the quality of your application will be more excellent than with full-stack developers.

4. Better testing: The process of writing custom software is much faster when using no-code.


Hiring for any technical role is challenging and time-consuming but good preparation will help a lot. So let's go through a checklist of soft & hard skills that you need to consider and put in place when you want to hire a Bubble developer:

* Previous Bubble projects & experience with Bubble templates
* Passion for no-code and Bubble
* Agile experience
* UX design skills
* Problem-solving skills
Step1: Create New Reactjs project...
Tags: react
Published: 2021-11-24 17:03:02

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bse49vhbcv8dn0tgbc4o.png)




###Create React app: 


Open terminal in VScode 


```bash
  npx create-react-app my-app
  cd my-app
  npm start
```
Accessibility Testing in Modern Software Development
Tags: testing, qa, a11y, qualityassurance
Published: 2021-11-24 18:16:21

I would like to share with you all guys the recording of my talk. **"Accessibility Testing in Modern Software Development"**

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ok0wnzjsa51nq1itwdwm.png)

[Video on YouTube](https://youtu.be/1H_S3FzacxA)
What is Hoisting in Javascript ?
Tags: javascript, webdev, programming, computerscience
Published: 2021-11-24 18:01:12

Hoisting is a phenomenon by which we can access the variables and functions even before we initialize it.
![Hoisting Code 1](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uk1ogt2u5vkuxtul1tz2.PNG)
**Note:** In above code we can access the getName() and x even though it is in the top. This type of code will show error in other languages but because of Hoisting we are able to access it.

**How can we access it?** 

It is because of [execution context](https://dev.to/magnus0045/how-javascript-code-is-executed-3664) as we learned before. Creation of execution context start with the 1st phase as memory creation phase. So, in this phase variables are initialized as undefined and functions are copied as it is.  That is why we are able to access it.

![Hoisting Code 1](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h27s3h75pij0fopdzn82.PNG)

When we run the above Javascript code we get function as output, As the functions are copied as it is in the memory creation phase of execution context.

**How we can see the memory creation phase of execution with the help of browser developer tool?**

![Hoisting Code 3](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3bqsd61jb4kmy8lky6m7.PNG)

Once we run the above Javascript code in our browser, We have to open the developer tools in our browser and first we should add a breakpoint in **line number:16** of the code. Once we start debugging, the execution first pause in **line number:16**.Now click on the **Global** Tab and search for **getName** and **x**, we can see how memory is allocated for functions and variables in memory creation phase before we execute the whole program. 

**Below is the way how the function is stored**
![Hoisting Code 4](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kiip2xaobsi6fih8u0sq.PNG)
**Below is the way how the variable is stored**

![Hoisting Code 5](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ap21qvnlviu73c73klh1.PNG)

**Note :There are some special cases**, if the function is defined as an arrow function or as an anonymous function then in memory creation phase it is stored as regular variable and the value will be **undefined**. 

![Hoisting Code 6](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xvv06yedlbcw4s7n708l.PNG)

We can view the memory creation phase of the execution context in same way as we did for the earlier example.

![Hoisting code 7](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/p8ks8w9tg6vxwh8wj5jz.PNG)

There are also some scenarios where **let** and **const** shows different behaviour as compared to **var** such as reference error because of Temporal dead zone. In addition to that **class** also shows different behaviour such as reference error. You can refer to [Hoisting mdn](https://developer.mozilla.org/en-US/docs/Glossary/Hoisting) to know more.

PS:I will also post about Temporal Dead Zone. 

Reference:@akshaymarch7 , @lukeshiru
Announcing the Advent of GraphQL Challenge
Tags: graphql, nextjs, netlify, javascript
Published: 2021-11-24 17:52:17

We've got exciting news! StepZen is running an 'Advent of GraphQL' challenge in December! If you have around 5 minutes a day, you can complete this challenge and boost your GraphQL knowledge to boot. Learn how to write your own queries and connect to a REST API. We've got some cool prizes this year...

![banner](https://codimd.s3.shivering-isles.com/demo/uploads/upload_381be1f9e83b0d408060d16853d2e509.png)

## Where to find the challenge

Each day we'll release a new challenge to [this Notion calendar](https://www.notion.so/Advent-of-GraphQL-c69086ae98764e2e9e1ccdd8938dc980). Follow along to take part. If you'd like to tweet about your progress, be sure to let us know by tagging @stepzen_dev! 

## What are the rules? 

Complete each of the 25 steps. If you aren't able to start on Dec 1st then you are welcome to come late to the party, there's plenty of time to catch up. It's in a tutorial format, but we appreciate creativity! If you need help, [reach out to our Discord channel](https://discord.com/invite/9k2VdPn2FR). 

## When do submissions end? 

The challenge ends on December 25th, but we will accept submissions up to December 28th, and announce the winner on the morning of the 30th. 

## How do I enter?

Send a link to your repository and deployed site to feedback@stepzen.com with the headline "Advent of GraphQL Submission"

## What are the prizes?

Everyone who enters will receive StepZen stickers! Be sure to include your address in yoru submission email, or use https://stepzen.com/stickers And to one random submitter (we'll put your names in a hat, secret-santa style :santa:), we will send a [book of snowflake photographs](https://www.amazon.com/Art-Snowflake-Photographic-Album/dp/076034700X/) to adorn your coffee table during the winter season. :snowflake:
How to run .sh scripts in Ubuntu?
Tags: ubuntu, bashcommandlineexecu
Published: 2021-11-30 05:47:06

---
title: How to run .sh scripts in Ubuntu?
published: true
date: 2021-11-24 17:43:07 UTC
tags: Ubuntu,bashcommandlineexecu
canonical_url: https://stackallflow.com/ubuntu/how-to-run-sh-scripts-in-ubuntu/
---

<header>
<p><span style="font-size: 1.2em; color: initial;">bash</span><span style="font-size: 1.2em; color: initial;">command line</span><span style="font-size: 1.2em; color: initial;">execute-command</span><span style="font-size: 1.2em; color: initial;">scripts</span></p>
</header>

Whenever I open a .sh file, it opens it in gedit instead of the terminal. I can’t find any option similar to **Right Click** → **Open With** → **Other Application…** → **Terminal**.

How do I open this file in the terminal?

#### Accepted Answer

Give execute permission to your script:

```
chmod +x /path/to/yourscript.sh

```

And to run your script:

```
/path/to/yourscript.sh

```

Since `.` refers to the current directory: if `yourscript.sh` is in the current directory, you can simplify this to:

```
./yourscript.sh

```

The post [How to run .sh scripts in Ubuntu?](https://stackallflow.com/ubuntu/how-to-run-sh-scripts-in-ubuntu/) appeared first on [Stack All Flow](https://stackallflow.com).
How to enter a file or directory with special characters in its name?
Tags: ubuntu, cdcommandcommandline
Published: 2021-11-30 05:46:56

---
title: How to enter a file or directory with special characters in its name?
published: true
date: 2021-11-24 17:42:21 UTC
tags: Ubuntu,cdcommandcommandline
canonical_url: https://stackallflow.com/ubuntu/how-to-enter-a-file-or-directory-with-special-characters-in-its-name/
---

<header>
<p><span style="font-size: 1.2em; color: initial;">cd-command</span><span style="font-size: 1.2em; color: initial;">command line</span><span style="font-size: 1.2em; color: initial;">filename</span></p>
</header>

I want to enter the following folder in the terminal:

```
Milano, Torino (Jan)-Compressed

```

How should I write the command `cd` to enter this directory?

Spaces and several other special characters like ``, `*`, `)`, `(` and `?` cause problems when I try to use them in the command line or scripts, e.g.:

```
$ cd space dir
bash: cd: space: No such file or directory

$ cat space file
cat: space: No such file or directory
cat: file: No such file or directory

$ cat (
bash: syntax error near unexpected token `newline'

$ echo content >
> ^C

$ ls ?
( ) * ?  

```

How do I enter file or directory names that contain special characters in the terminal in general?

#### Accepted Answer

That command is ambiguous because spaces are normally used to separate arguments. cd does not know what you want to do but you have two possibilities to solve it:

Either you “ **mask** ” the spaces (and all other special characters) so that the terminal knows you mean the space as a character and not as a separator:

```
cd Milano, Torino (Jan)-Compressed

```

Or you put your folder name or path into **quotes** :

```
cd "Milano, Torino (Jan)-Compressed"

```

The post [How to enter a file or directory with special characters in its name?](https://stackallflow.com/ubuntu/how-to-enter-a-file-or-directory-with-special-characters-in-its-name/) appeared first on [Stack All Flow](https://stackallflow.com).
How to install Flash player on Ubuntu?
Tags: ubuntu, browserflashgamespep
Published: 2021-11-29 12:35:00

---
title: How to install Flash player on Ubuntu?
published: true
date: 2021-11-24 17:39:02 UTC
tags: Ubuntu,browserflashgamespep
canonical_url: https://stackallflow.com/ubuntu/how-to-install-flash-player-on-ubuntu/
---

<header>
<p><span style="font-size: 1.2em; color: initial;">browser</span><span style="font-size: 1.2em; color: initial;">flash</span><span style="font-size: 1.2em; color: initial;">games</span><span style="font-size: 1.2em; color: initial;">pepperflash</span><span style="font-size: 1.2em; color: initial;">plugins</span></p>
</header>

Even though I have the latest Adobe Flash player 11.2 for Linux in Firefox –  
[ref: Flash player security doubts](https://askubuntu.com/questions/338812/flashplayer-security-doubts/338825#338825) – a particular online flash game still requests that I update to the latest flash player.

I’ve tried this online game on my laptop (Windows 8 with Flash Player 11.8) and it has no problems.

Is there a way to trick Ubuntu or this game into thinking Flash Player 11.8 is “installed”?

#### Accepted Answer

_Note: This answer is **severely outdated**. Please refer to [karel’s answer](https://stackallflow.com/a/990925/175814) instead which describes how Canonical and Adobe currently recommend to install Flash Player in Ubuntu._

* * *

For Linux, the latest version of [Adobe Flash Player](http://en.wikipedia.org/wiki/Adobe_Flash_Player) is 11.2 which you already have. Sorry, but it cannot be updated to 11.8. Adobe provides security backports to Flash Player 11.2 for Linux.

To install the Flash plug-in on [Ubuntu 13.04](http://en.wikipedia.org/wiki/List_of_Ubuntu_releases#Ubuntu_12.10_.28Quantal_Quetzal.29) (Raring Ringtail), please follow this process:

1. Enable the `multiverse` repository, as shown here: [How do I enable the “multiverse” repository?](https://askubuntu.com/q/89096/176889)
2. Open a terminal window (press <kbd>Ctrl</kbd>+<kbd>Alt</kbd>+<kbd>T</kbd>) and copy/paste this line:
```
sudo apt-get install flashplugin-installer 

```
3. When the Flash Player is installed, close the terminal window and restart your browser.

The post [How to install Flash player on Ubuntu?](https://stackallflow.com/ubuntu/how-to-install-flash-player-on-ubuntu/) appeared first on [Stack All Flow](https://stackallflow.com).
How to modify an invalid ‘/etc/sudoers’ file in Ubuntu?
Tags: ubuntu, sudovisudo
Published: 2021-11-29 07:19:22

---
title: How to modify an invalid ‘/etc/sudoers’ file in Ubuntu?
published: true
date: 2021-11-24 17:37:56 UTC
tags: Ubuntu,sudovisudo
canonical_url: https://stackallflow.com/ubuntu/how-to-modify-an-invalid-etc-sudoers-file-in-ubuntu/
---

<header>
<p><span style="font-size: 1.2em; color: initial;">sudo</span><span style="font-size: 1.2em; color: initial;">visudo</span></p>
</header>

How do I edit an invalid sudoers file? It throws the below error and it’s not allowing me to edit again to fix it.

Here is what happens:

```
$ sudo visudo
>>> /etc/sudoers: syntax error near line 28 <<<
sudo: parse error in /etc/sudoers near line 28
sudo: no valid sudoers sources found, quitting
```

#### Accepted Answer

On a modern Ubuntu system (and many other GNU/Linux distributions), fixing a corrupted `sudoers` file is actually quite easy, and doesn’t require rebooting, using a live CD, or physical access to the machine.

To do this via SSH, log in to the machine and run the command `pkexec visudo`. If you have physical access to the machine, SSH is unnecessary; just open a Terminal window and run that `pkexec` command.

Assuming you (or some other user) are authorized to run programs as `root` with PolicyKit, you can enter your password, and then it will run `visudo` as `root`, and you can fix your `/etc/sudoers`.

If you need to edit one of the configuration files in `/etc/sudoers.d` (which is uncommon in this situation, but possible), use `pkexec visudo -f /etc/sudoers.d/filename`.

If you have a related situation where you have to perform additional system administration commands as root to fix the problem (also uncommon in this circumstance, but common in others), you can start an interactive root shell with `pkexec bash`. Generally speaking, any non-graphical command you’d run with `sudo` can be run with `pkexec` instead.

(If there is more than one user account on the system authorized to run programs as `root` with PolicyKit, then for any of those actions, you’ll be asked to select which one you want to use, before being asked for your password.)

* * *

If that doesn’t work–for example, if there are no users authorized to run programs as root via PolicyKit–then boot from an Ubuntu live CD (like the CD you probably used to install Ubuntu) and mount the filesystem for the installed system. You can do this by running `sudo parted -l` to view your partitions–there is probably just one ext4 partition, and that’s the root filesystem.

Suppose the installed Ubuntu system’s root filesystem is on `/dev/sda1`. Then you could mount it with `sudo mount /dev/sda1 /mnt`. Then you can edit the installed system’s sudoers file with `sudo nano -w /mnt/etc/sudoers`. Or, even better, you can edit it with

```
sudo visudo -f /mnt/etc/sudoers
```

(which will prevent you from saving a sudoers file with incorrect syntax).

The post [How to modify an invalid ‘/etc/sudoers’ file in Ubuntu?](https://stackallflow.com/ubuntu/how-to-modify-an-invalid-etc-sudoers-file-in-ubuntu/) appeared first on [Stack All Flow](https://stackallflow.com).