teleren/devto huggingface dataset:
Please don't be an Application Blackhole
Tags: programming, interviewing, jobs
Published: 2019-09-28 12:12:10

---
title: Please don't be an Application Blackhole
published: true
description: 
tags: programming, interviewing, jobs
---
![A blackhole](https://thepracticaldev.s3.amazonaws.com/i/tmoee8ww5zy4rbelfftg.jpg)
Note: This is what blackholes should look like 

### What is an Application Black hole?

An Application Blackhole is a place where applicants send their applications never to receive any notifications/rejections. Job openings, scholarships, grants, call for papers, etc. are a few examples which can turn into an Application Blackhole.

### Why you should not be an Application Blackhole?

It is sad not to receive any rejections/notification when you apply for something and your application is swallowed by a black hole. You put so much effort into applying for something and you do not even get a rejection letter.

I understand that usually organizers/recruiters already have a lot of other work to do when they open applications for something. But the least you can do is at least send a common rejection email to all the candidates who are being rejected. It does not have to be personalized, a generic mail will do.    

In the case of jobs applications, this makes it easier for us to keep track of things. We can make better decisions while applying to jobs and save everybody's time.

### What's the best thing one can do?

These things are not necessary but if you want to help you can:

- Send a notification email saying you received the application.
- Mention a date by which you will notify the application status. It does 
  not have to be accurate, something like by the end of next month will 
  do.
- Try to follow the deadline you set and send rejections/notifications by 
  that date.

### What is the least one should do?

Send rejection emails, they don't have to personal, at least notify the candidate and don't be an Application Blackhole.
Steve Gibson - SQRL - Secure Quick Reliable Login
Tags: linux, windows, ios, android
Published: 2019-09-28 11:58:52

---
title: Steve Gibson - SQRL - Secure Quick Reliable Login
published: true
description: SQRL provides secure pseudonymous identity online. It has many properties that make it significantly superior to usernames, passwords and all other forms of identity establishment. Rather than another second "factor" for identity, SQRL provides a secure single factor. It can peacefully coexist alongside usernames and passwords, OAuth, FIDO, TOTP tokens, or any other system. But it is truly superior to them all and it is hoped that it might eventually replace everything else. SQRL's design is 100% open, free, unencumbered by any intellectual property rights, and it is ready for the world. 
tags: linux, windows, ios, android
---

{% youtube Y6J1Yt8YYj0 %}

SQRL provides secure pseudonymous identity online. It has many properties that make it significantly superior to usernames, passwords and all other forms of identity establishment. Rather than another second "factor" for identity, SQRL provides a secure single factor. It can peacefully coexist alongside usernames and passwords, OAuth, FIDO, TOTP tokens, or any other system. But it is truly superior to them all and it is hoped that it might eventually replace everything else. SQRL's design is 100% open, free, unencumbered by any intellectual property rights, and it is ready for the world.

In 1970, while in high school, Steve fell in love with programming in assembly language on a 12-bit 4K DEC PDP-8 minicomputer. He's never stopped programming. Although many products bear his mark, the appearance of the Internet and its clear need for security caused him to create "ShieldsUP!", the free online service to allow users to check their machines for open ports, and a large variety of popular security-oriented freeware. 14 years ago, Leo Laporte asked Steve if he would consider producing a weekly podcast on the topic of security.

Steve named it "Security Now!" and 14 years later that podcast has roughly 250,000 weekly listeners. Five years ago, the core concept for SQRL occurred to him during breakfast... and he's here to show us the result of five years of work.
What Terminal Application do you use on macOS?
Tags: productivity, discuss
Published: 2019-09-28 11:02:36

Some of my colleagues recently switched to [Hyper](https://hyper.is/). I'm still using [iTerm 2](https://www.iterm2.com/) and I am very happy, so I don't see a reason to switch.

#### iTerm 2
![iTerm 2](https://thepracticaldev.s3.amazonaws.com/i/tlaq4lh8wstmyioz8u6q.png)

#### Hyper
![Hyper](https://thepracticaldev.s3.amazonaws.com/i/ge6tagv6fkgkz138jyql.png)

(Thank you @jakewca for the screenshot!)

What Terminal Application do you use on macOS? Do you use any tweaks?
Need Help About JavaScript Error Log
Tags: ask, help, javascript
Published: 2019-09-28 10:47:19

Dear All 

I have this code ->
```js
if("serviceWorker" in navigator){
navigator.serviceWorker.register("/service.js");}

if(localStorage.getItem("preferredTheme")==="dark"){setDarkMode(true);}
function setDarkMode(isDark){var darkBtn=document.getElementById("darkBtn");
var lightBtn=document.getElementById("lightBtn");
if(isDark){lightBtn.style.display="block";
darkBtn.style.display="none";
localStorage.setItem("preferredTheme","dark");}else{lightBtn.style.display="none";
darkBtn.style.display="block";
localStorage.removeItem("preferredTheme");}
document.body.classList.toggle("darkmode");}
document.getElementById("darkBtn").addEventListener("click", function(){setDarkMode(true);});
document.getElementById("lightBtn").addEventListener("click", function(){setDarkMode(false);});
```

And I got this warning from LightHouse ->

> TypeError: Cannot read property 'addEventListener' of null at https://angora.me/script.js :13:35

Any suggestion how to fix it?

Regards
ICYMI GitHub Actions v2 is a breaking change
Tags: github, yaml, hcl, top7
Published: 2019-09-28 10:45:18

Photo by Slim Emcee (UG) the poet Truth_From_Africa_Photography on [Unsplash](https://unsplash.com/photos/zGERaFHaLF0)

On the 30th of September, the old HCL format will stop working. There's a handy migration tool you can download to migrate your existing workflows to the new YAML format. 

It's ludicrously easy to use, and there's step by step instructions in the following [GitHub help page]( https://help.github.com/en/articles/migrating-github-actions-from-hcl-syntax-to-yaml-syntax)
The Developer Experience - With GNU Linux
Tags: dx, linux, bash, ux
Published: 2019-09-28 10:15:17


| UX v DX |

There is a lot of discussion around UX which is nice but my focus is the Developer Experience. In the past, there was a segment of the population that would debate that a Developer is a User, just a different kind of user. 

That was fine. 

In the meantime, while they were ignoring devs, I focused my work toward developers. This is the audience I wrote to. The instructions for how to use the API or how to parse a json files - were for developers. 

The instructions to run the AI applications in python or C/C++ were most definitely written for developers. 


| Levels |

There was something else these marketers and product sales people would never understand - the different levels for dev. You have your hackers, your professional devs, your script kiddies and everything in between or on the way to a new level. 


| exit_success |

Writing instructions so all would succeed with a final exit_success result is the goal of writing to the "dev" audience.
I know some integrators who will read a 800 page manual, and some like "manual, we don't need no stinkin' manual!".

Personally, I like Ikea's manuals. No words. Total internationalization.


|| F.T.W ||


1. Keep engaged - eye on the prize
2. Keep informed - offer accurate instructions with info
3. Keep on task - offer relevant information
4. Keep it simple, stupid - KISS still rocks!
Family Feud with React - GH Pages - Firebase
Tags: hacktoberfest, react, game
Published: 2019-09-28 09:43:45

---
title: Family Feud with React - GH Pages - Firebase
published: true
description: 
tags: hacktoberfest, react, game
cover_image: https://thepracticaldev.s3.amazonaws.com/i/dbtfyg0pc4qpxo8pj6q6.jpg
---

![](https://media.giphy.com/media/9J7ivZDZynK3hdt2zd/giphy.gif)

So hacktoberfest is around the corner, and what better way to contribute than making a cool game. Now this won't be just another clone. I had been thinking about the design for a while, and the one thing that people fail to add to this game is the questions. People don't want to create 50 questions, on a Sunday game night.

## The overall game plan is as follows:

- UI will be rendered with github pages with react web.
- There will be authentication with firebase, so people can vote, post, make questions lists, and also save game data.
- I will use firebase for the database.
- Game will be fully playable through browser
- Game can also run as localhost, and connect to firebase


## Join me on, and together we can make awesome software to promote OSS

How far can we make it in one month?

https://github.com/kodaman2/family-trivia-react
How I'm avoiding using NPM in favor of Yarn
Tags: npm, yarn, cli, terminal
Published: 2019-09-28 08:03:59

---
title: How I'm avoiding using NPM in favor of Yarn
published: true
description: My way of changing how my brain works with NPM/Yarn
tags: NPM, Yarn, CLI, Terminal
---

There are multiple, if not, hundreds of articles telling developers not to use NPM and instead use Yarn. I'm not going to go into details because that's not the point of this article but if you really want to know why I suggest doing a quick search. The articles that you will find will probably do more justice in explaining compared to how I will probably explain it.

Anyway, it's easy to read articles but it's really not easy to apply what you just learned to your workflow. We need to consider how many times a developer might have typed `npm install` in their life so no matter how hard someone tries to change there will probably be a little slip up here and there. At least that's the case for me.

A trick that saved me from that is by using aliases. My shell is **zsh** but even **bash** can have aliases. Here's how the alias looks like.

```
alias npm="echo 'Do you really want to use NPM instead of Yarn? \
           (Ctrl-C to abort, or press enter to continue)' && \
           read && npm"
```
What the snippet does is it just echoes a message asking if I really want to use NPM or if I can just use Yarn. At first, I was thinking of just adding `npm` as the alias of `yarn` but there are cases where something like that would probably be a bad idea. So this was the best I could come up with. If you want to use it as well just open up your shell's rc file. It can either be on `~/.bashrc` or `~/.zshrc`.

##### Here's how it looks like in action.
![In action!](https://imgur.com/FmTZGP3.gif)

Not much but I think it's pretty cool. With this I still have the option to use NPM but I will receive a warning every time I do it. Hope this helps even one of you!
My First Thought of React
Tags: react, javascript, vue, beginners
Published: 2019-09-27 09:25:39

![Computer](https://res.cloudinary.com/dmbsryj45/image/upload/v1569576258/dev.to/pchrhjrdnzfyqbazub3g.jpg)

Lately, I am continuing my online course on Udemy with an interesting topic: Modern React with Redux. This is my first time learning about this library, so I'm a bit curious about why this library is so famous. I am a Vue person, doing my work on the office mostly with Vue, and this React feels so strange to me. Strange but interesting at the same time. Here is my first thought of exploring React:

### **JSX!**

If you have knowing Vue for a while, you might wonder how React put between template and logic. And here it comes JSX in-game. JSX combine template and logic. Nothing more, no place to separate them. It's a bit weird to me and changes my workflow as well.

Although it combines everything, it has benefit. **Creating component in React is extremely simple!** You can create one line of the method, and call it a component.

{% gist https://gist.github.com/prabangkoro/4497c76b277f7c2fb3cad87c02f1ff6e %}

### **Functional Paradigm**

React drives you to write short and reusable code. You rarely see any deep (Hadouken) code, especially in DOM element. React doesn't give you a syntactic sugar like **v-for, v-if, v-else,** like in Vue.

For example, every time you want to show repeated element. You have to utilize js syntax **map**.

{% gist https://gist.github.com/prabangkoro/244282892a61b530dae01fa4169c2397 %}

A bit deep huh?

This situation has no syntactic sugar will drive you to write readable code, with no deep loop, no nested loop. A good practice is to separate this looping item into a single component.


### **Wonderful Props**

I think this is the key value of React. It provides really powerful props. With props, you can pass anything, string, object, or even a Component! (passing component in props is not a good practice anyway, you can use props child instead) This is mind-blowing really.

Passing any data to props is really simple, and using it is simpler.

{% gist https://gist.github.com/prabangkoro/d2c7a7a5cef80d07fdf807f4ceb4bef2 %}

We don't need to define what props are passing, we just use it instantly.

---

React has pros and cons against Vue. It is limited on its syntactic sugar, but React has a simple rule so we can basically do anything with it. It gives us flexibility more than Vue.

_Stay hungry, stay foolish_
BitcartCC: New Contributors Welcome / Open Source project
Tags: hacktoberfest, contributorswanted, python, node
Published: 2019-09-28 07:06:32

Bitcart is a project to simplify cryptocurrencies integration.
It's target is to be light, provide simple APIs, and some out-of-box nice templates.
It is a multi-language project.
The used languages are Python(asyncio, tests, PyPi library and more), HTML, CSS, Node.js(Vue(with Vuetify framework)), and even a bit of Go(for CLI command). Also such things as docker and docker-compose are used.
Even if you don't know about cryptocurrencies you can learn a lot from that project and help us.

# How to get started

Bitcart consists of 6 repositories(yes, six!). Parts of it are split between those repositories to simplify work.
For example, if you're a node developer, repos of interests would be bitcart-frontend and bitcart-admin.
If you are a python developer, repos of interest would be bitcart(main one), bitcart-sdk. If you like docker, repo of interested would be bitcart-docker, if you would like to write some docs, repo of interest would be bitcart-docs.

To get started, take a look at [Hacktoberfest introduction issue](https://github.com/MrNaif2018/bitcart/issues/72).
It has all the necessary information to get started.
You can try this project out and submit bugs, fix issues labeled with hacktoberfest or open new ones.
Any help is welcome!
If you need help understanding the project open the issue on github or ask in our [Telegram group](https://t.me/bitcartcc).
Happy coding everyone!
How can I share the same domain with two different servers?
Tags: help, network, server
Published: 2019-09-28 06:39:16

---
title: How can I share the same domain with two different servers?
published: true
description: Share the same domain with two different servers
tags: help, network, server
---

#Is it possible to have two separate servers share the same domain name? If so, how?

I have a website and email services hosted on a nginx server with the domain name site.co.mz, working perfectly. 

But recently I'm developing a new website that should replace the one hosted on this nginx server. I've hosted this new website on Heroku because I'm developing this website using Jekyll and some gems which Heroku makes it easy to host and it's working perfectly too.

I want to know if is it possible to share the same domain name site.co.mz on these two different servers?
What is Candidate Experience and why it is essential for your business?

Published: 2019-09-28 05:50:01

For every business, it is important to enhance the candidate experience because the candidates are the most valuable resources and that makes every organization grow

We need to take care of it and always try to enhance the candidate experience.

What is the candidate experience?

Candidate experience reflects a person feeling during the interview process, it may improve or breakdown the experience of the candidates. 

To improve the candidate experience a few ways will work for sure.


Friendly Communication

It is very important to act like a friend with the candidates to help them make their mind peaceful and stay relaxed. You can start the communication with the general topic or by just telling that you have received their applications.

Make an organized Recruitment

It is a smart approach to make the entire recruitment process in an organized manner will result in better recruitment and hiring. It can be seen that asking the repeated questions will let the candidates fail the interest to join your organization.

Optimized mobile device

Imagine that a candidate who came to your career page and need to apply for a job and at last found it was failed due to the error while uploading the resume, so that makes a bad impression to the candidates and may reject to apply on a job. 

Most of the applicants expect the mobile-friendly career page that helps them to easily explore the entire job description, explore the other jobs, easy to apply to the desired jobs and at last, receive the confirmation message to the candidates.


What you can get in return?

According to the survey of kelly services, they got outstanding results like 

95% of the candidates are more likely to apply.
97% of the candidates who had a positive experience would recommend others.
55% of the candidates prefer to tell their social networks about that positive experience.

So as per the research, it has been proven that the enhanced candidates' experience is very essential for every business.
Personal domain e-mail on AWS with Gandi
Tags: aws, email, hosting, webdev
Published: 2019-09-29 01:25:29

---
title: Personal domain e-mail on AWS with Gandi
published: true
tags: aws, email, hosting, webdev
canonical_url: https://denham.ie/2019/09/28/personal-domain-e-mail-on-aws.html
---

I recently moved hosting of my domains over from a [managed hosting provider](http://asmallorange.com) of several years to [AWS](https://aws.amazon.com/). While there is the inherant time sink of managing the infrastructure yourself, I didn’t want to maintain an e-mail server.

My domain registrar, [gandi](https://www.gandi.net/en), provides 2 free e-mail addresses per domain, and unlimited forwarding accounts.

While your domain may be hosted on AWS (using aws nameservers), you can update the dns configuration to point to gandi’s mail servers, and setup and manage all your domain name e-mail addresses from gandi's console.

This is managed in you aws console under Route53, Hosted Zones, <your-domain-here>. You'll then want to create two record sets for the domain as follows:</your-domain-here>

| Type | Alias | TTL | Value | Routing Policy |
| --- | --- | --- | --- | --- |
| MX | No | 10800 | 10 spool.mail.gandi.net. | Simple |
| MX | No | 10800 | 50 fb.mail.gandi.net. | Simple |
| TXT | No | 10800 | “v=spf1 include:\_mailcust.gandi.net ?all” | Simple |

![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/vsdxp6rbcgkywfzpwhgq.png)
What's an error message that made you laugh?
Tags: discuss
Published: 2019-09-28 03:47:45

I found this error message on one of my home recording groups on Facebook and literally it made me laugh out loud. 

![highcenburg jokes](https://thepracticaldev.s3.amazonaws.com/i/m1vn3yjwscl6vry0e525.jpg)

Want to share what you've seen? 😀
An Incredibly Easy Way to Manage Layers in SCSS
Tags: css, beginners, webdev
Published: 2019-09-28 02:53:43

If you’ve come across websites that uses 0, 1, 999, 99999, 9999999 as z-index values, then you’ve probably already guessed that the layers have been arbitrarily arranged and therefore poses the imminent headache of maintaining those websites in the future.

The way I manage layers is thru **SCSS placeholders**. Assuming I have a couple of layered components to deal with, I extend a placeholder  with the same class name but prefixed with %layer-. 

```scss
.nav{
// some properties
	@extend %layer-nav;
}
.dimmer{
	// some properties
	@extend %layer-dimmer;
}
.modal{
	// some properties
	@extend %layer-modal;
}
```

Then, in a separate SCSS partial called **_layers.scss**, I lay these placeholders down, each in a one-liner manner so I can easily glance over the layers and their corresponding values.
 
```scss
%layer-nav	{ z-index: 10; }
%layer-dimmer	{ z-index: 11; }
%layer-modal	{ z-index: 12; }
```

I also don’t mind extending the placeholder in different components first before declaring them because the compiler shall indicate some errors which I use to easily encode them in the layers partial file later on.

And that’s pretty much it. Because z-index values are implemented as placeholders, we don’t need to constantly revisit components just to adjust the values. We also don’t have to put a lot of comments to note how one thing affects another. And most importantly, we don’t have to jump *tens and hundreds* (or even thousands) of units just to make sure a box appears on top!

It’s also **worth noting** that in this implementation of @extend, sharing the same placeholder across multiple components may not be the best idea because of the naming convention.[EDIT] You're better off using variables in this case, as pointed out in the comments below.

I hope you guys find this useful as I have. Let me know what you think or if there’s an even easier way, feel free to share. I’ll be sure to check it out.
SSH Config
Tags: ssh
Published: 2023-01-06 01:57:35

---
title: SSH Config
published: true
date: 2019-09-28 02:46:39 UTC
tags: SSH
canonical_url: https://brandonrozek.com/blog/sshconfig/
---

Have you ever gone through the hassle of having multiple public/private keys for accessing your remote servers? Before recently, I used to specify the identity file in all my transactions `ssh -I ~/.ssh/private_key user@host` but no longer! I discovered you can add the following to your `~/.ssh/config` to specify which key you want to use!

```
Host somename 
    Hostname someaddress
    user usernameonserver
    IdentityFile ~/.ssh/private_key

```

Of course you can add multiple of these entries in that file so that you can `ssh` without having to worry about explicitly using keys. Just keep in mind that the order of your entries matter.
Robust dd
Tags: linux
Published: 2023-01-06 01:57:47

---
title: Robust dd
published: true
date: 2019-09-28 02:45:56 UTC
tags: Linux
canonical_url: https://brandonrozek.com/blog/robustdd/
---

This blog post is going to assume that we’re writing to `/dev/sdX`. Please change this to whatever disk you’re actually trying to write to. I bear no responsibility if you accidentally write to your OS drives.

Make sure the disk you wish to write to is unmounted.

```
sudo umount /dev/sdX

```

For good measure check `lsblk`….

Then perform the writing operation

```
sudo dd bs=4M if=/path/to/distro.iso of=/dev/sdX conv=fdatasync status=progress

```

`fdatasync` will wait until the data is physically written into the drive before finishing.

Once that operation is done we can check to see if it is performed properly. This step will only work for ISOs that have prepared a file similar to `md5sum.txt` that Ubuntu provides….

```
sudo mount /dev/sdX /mnt
cd /mnt
md5sum -c md5sum.txt

```

Hopefully you’ll see all `OK` and we’re good to go!