teleren/devto huggingface dataset:
Software Engineering Management and Why Context Matters
Tags: engineering, management, context, communication
Published: 2020-08-29 06:33:35

Large projects suffering management problems different from small ones because of the organization's issues. The administrative level is too far away to understand what's going on in the organization, so there is a lack of communication between those who make decisions and those who are affected by them.

Lack of communication is due to a gap in understanding, which is induced by the fact that people are not the same. This diversity results from the differences between individuals and causes major problems when it comes to managing any organization. People can't understand how things work on the lower level because they don't use their imaginations enough; instead, they rely too much on words.

This lack of understanding leads to a desire for control, which is the opposite of the anarchy that would occur if everyone worked in their own way. This situation arises because individuals have different agendas and interests; therefore they cannot be trusted not to work against each other.

Here's the thing: I'm going to assume that by "communication," you mean verbal communication, as written and non-verbal forms of it do not usually lead to misunderstandings. Verbal communication is an incredibly important part of human society; in fact, humans use a large portion of their brain just for speech production and recognition. It also helps keep track of information. So we can't remember everything at once, so we assign meanings to words or symbols which represent concepts such as objects in our environment or abstract ideas like events or actions.

When it comes to misunderstandings, they occur for several reasons. The most common is the difference between literal and metaphorical language; the second most common is a lack of context in which an action occurs or a statement was made.

Literal language is the most common form of communication, and while it's useful for conveying factual information, it can be misleading. If you say "The sky is blue," that statement has meaning in terms of literal facts it reflects reality; but if I said to someone "You're an angel" or "That was a close one," we know those sentences are not meant literally.

Context is extremely important to communication because it provides the information necessary to understand a statement. If I said "It's raining" while I was standing outside in the rain with wet hair and clothes, then that sentence has meaning as an observation of reality; but if a friend said it when they were sitting on their couch watching television, we would know something is amiss.

What's interesting is that a lot of the time, humans are themselves responsible for their own misunderstandings. We can't remember everything so we make assumptions based on what information we have -- but since we don't know if those assumptions are correct until they're confirmed, it gives us almost no way to verify whether our guesses were accurate.
Use “Absolute Reference in Excel” Office 365 – {with Examples}
Tags: absolutereferenceine, excelpreface
Published: 2020-08-29 08:10:18

---
title: Use “Absolute Reference in Excel” Office 365 – {with Examples}
published: true
date: 2020-08-29 06:27:00 UTC
tags: AbsoluteReferenceinE,ExcelPreface
canonical_url: https://geekexcel.com/use-absolute-reference-in-excel-office-365-with-examples/
---

## Absolute Reference in Excel:

In this article, we are going to see about **Absolute Reference in Excel Office 365**. Let’s get into this article!! 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)



## Absolute Reference – Definition:

- If you define any rows or columns as an absolute reference and then it **won’t be changed when copied to a new location (it is locked)**.
- The absolute reference is an **actual fixed location** in a worksheet.
- If you want to create an absolute reference, you just have to **add a dollar symbol ($) before rows and columns**.
- For example, The absolute reference of **B2** looks like **$B$2**. Here, **Column B** and **Row 2** is declared as an absolute reference, the values will not change while copying it from the **cell B2**.

## Example:

- Refer to the below screenshot.
- Here, you can see the **Cell B2 ** which is defined as an absolute reference.
- You can see the copied value and its cell reference has not changed to the new location.

![Example 1](https://eadn-wc04-371788.nxedge.io/cdn/wp-content/uploads/2020/08/1-95.png)<figcaption id="caption-attachment-12914">Example 1</figcaption>

- You can also define an **absolute reference for the range of cells** in Excel. See the below example.
- In the following image, you can see that absolute reference is created for the range of cells ( **$B$2:$B$6** ).

![Absolute Reference for a range of cells](https://eadn-wc04-371788.nxedge.io/cdn/wp-content/uploads/2020/08/EXCEL_RR7lSVm5Bv.png)<figcaption id="caption-attachment-12897">Absolute Reference for a range of cells</figcaption>

## Verdict:

In this article, you can learn about the **Absolute Reference in Excel Office 365** with examples. Drop your **feedback** in the below comment section. Thanks for visiting **[Geek Excel.](https://geekexcel.com/)** Keep Learning!!

### Read Ahead:

- [How to Fix #NUM! Error in Excel Office 365? – [with Example]](https://geekexcel.com/how-to-fix-num-error-in-excel-office-365-with-example/)
- [How to Use Excel EXP Function in Office 365? – [With Examples]](https://geekexcel.com/how-to-use-excel-exp-function-in-office-365-with-examples/)
Getting notified in JavaScript when a Media Query changes
Tags: javascript
Published: 2020-08-29 06:08:38

Media queries are awesome and well used in modern web development.
But how can one notify JavaScript if a certain media query is met.

There is a window listener called: `matchMedia`, and it does exactly this!

This is what we will be making today:

![JavaScript MediaQuery listener](https://cdn.hashnode.com/res/hashnode/image/upload/v1598621493330/YKAi8d1zv.gif)


## JavaScript Media Query Changes 

To use `matchMedia` we call the following:

```js
var mediaQuery = window.matchMedia('(max-width: 500px)');
```

To use it we can add listeners to it:

```js
mediaQuery.addListener(console.log);
```

Now if we size our screen with the console open it will fire a console log each this this media queries matches.

The return will have a `MediaQueryListEvent`, which contains a value called `matches` to say true or false.

Console logs are cool, but it doesn't really do much for us, so we can also attach a function:

```js
mediaQuery.addListener(alertMe);

function alertMe(e) {
  if (e.matches) {
    document.body.style.backgroundColor = 'green';
  } else {
    document.body.style.backgroundColor = 'red';
  }
}
```

Now, if we resize and hit the media query, our screen will turn green or red depending on yes or no.

See this Codepen for a demo.

{% codepen https://codepen.io/rebelchris/pen/abNwbdY %}

> More on MediaQueryList here [MDN Web Docs](https://developer.mozilla.org/en-US/docs/Web/API/MediaQueryList/addListener)

## Browser Support

This function has really good support!
For a novice function, definitely, one to use in projects.

![MediaQueryList support](https://caniuse.bitsofco.de/static/v1/mdn-api__MediaQueryList-1598621022637.png)

### Thank you for reading, and let's connect!

Thank you for reading my blog. Feel free to subscribe to my email newsletter and connect on [Facebook](https://www.facebook.com/DailyDevTipsBlog) or [Twitter](https://twitter.com/DailyDevTips1)
How to run useEffect() only once in React.js - (React Hooks)
Tags: react, tradecoder, webdev
Published: 2020-08-29 05:37:49

```
import {useEffect} from "react";
```
Just add an empty array
after the callback function
separated by a comma 

`useEffect(callback, []);`

```
useEffect(()=>{}, []);
```

## Why do you need to run useEffect() only once?

When you setState inside useEffect() from a data source, it will be continuously updating with the source value, and outside the useEffect() if you have an onChange event handler to setState to another value- that won't work. To solve this, you need to call useEffect() only once.
'1-click' install for Laravel + Voyager
Tags: laravel, linux, devops, bash
Published: 2020-08-29 05:30:33

# Prerequisites

* Apache2
* MySQL/MariaDB
* PHP
* Git
* Composer

# Introduction

Hey, $user! Today I'll share with you how to install Laravel + Voyager with only "1-click". Well, you guessed it - it's a script. My script. There are many like it but this one is mine.

Anyway, for the ones who don't know what Voyager is - let me explain. Voyager is the ultimate admin panel for Laravel. I suggest you watch a quick [video](https://www.youtube.com/watch?v=_gp4E7tC-Vs) from [DevDojo](https://devdojo.com) to get more understanding of why Voyager is a great ally to have on your side!

Only two things are required from you:
1. Clone the [script](https://github.com/47ontech/voyager_with_laravel.git) in directory of your choice (or ```wget``` it):

```
git clone https://github.com/47ontech/voyager_with_laravel.git
```
2. Run it.

# Walk-through

I will not be doing a full walk-through for each line, yet I want to highlight some key points.

## Variables

The Variables "section" is pretty straight forward. The only thing I want to pay attention here is the following:

```
DBPASSWORD="$(openssl rand -base64 12 | tr -d \"=/\")
```

Sometimes when the password add the special characters '=; /; \\;' the whole script crashes 🤷.

## Voyager Install and Config

The word 'frustrated' would not be enough to express how I felt until I found where the problem is. I need you to remember the following line:

```
find /var/www/$SITE/laravel/config/app.php -type f -exec sed -i "168i TCG\\\\Voyager\\\\VoyagerServiceProvider::class," {} \;
```

So what's the deal with it? Well, when you try to escape a character, usually you do one simple back-slash (\\). However, when you want to escape a back-slash you have to enter 3 of these little guys. As a 'not-senior' guy, the debugging part was hell for me and I purged a lot of my time before I found the real problem. Anyway, when you want to escape \\ , just turn it into \\\\\\\ .

## Permissions

If we don't setup the permissions of our Laravel project, it will throw exceptions at us and we don't want that. We setup permissions.

# "That's all, Folks"

![thatsallfolks](https://media.giphy.com/media/xUPOqo6E1XvWXwlCyQ/giphy.gif)

Yup, that's all. I hope you find this handy. Bye!

<!-- How to install Laravel and setup Voyager -->
<!-- Author: Denislav Gavrilov -->
What is your book recommendation for who wants to be strong in JavaScript? 
Tags: discuss, career
Published: 2020-08-29 05:26:50

Hi there, I read a lot of books(some books finished, some not finished), but, nowadays I need more books. Because the book help to improve knowledge. I want to recommend 4 books to contribute to your improvement who want to improve yourself.

1- JavaScript: The Good Parts: The Good Parts 
2- Eloquent JavaScript, 3rd Edition: A Modern Introduction to Programming
3- Professional JavaScript for Web Developers
4- Javascript Allongé

Can you share useful books that you like and increase your knowledge?
Drawing a cartoon character with CSS
Tags: css, video, html, showdev
Published: 2020-08-29 05:16:57

---
title: Drawing a cartoon character with CSS
published: true
description: Video of a screen-recording while drawing a cartoon with HTML and CSS.
tags: css,video,html,showdev
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/5avlmmlc44ggiguzg9uc.png
---

Today, I drew a cartoon character using HTML and CSS. I built it from scratch (which is always fun), and recorded the process. The whole thing took a little over an hour, but at 20x, it is a lot faster ;)

{% youtube e7Kw3OX-Lns %}
<figcaption>Music credit: City Of Sins by Michael Ramir C.</figcaption>

After the recording, I still made a few more changes: made the eyes smaller, created variables for the lines, and adjusted the hair a little.

You can [check and personalize the cartoon code on Codepen](https://codepen.io/alvaromontoro/full/MWyoWXQ).
#100DaysOfCloud | Day 4
Tags: docker, linux, 100daysofcloud
Published: 2020-08-29 05:06:33

What Did I learn -

Today I went over the process of creating Docker volumes with the `docker volume create <NAME>` command as well as removing and pruning, similar to previous docker commands, they look like `docker volume prune` or `docker volume rm <NAME>`. I found the options I can add for creating a volume would be specifying a volume driver name with `-d`, or setting the metadata for volume with `--label list`, or set specific driver options with `-o`. Also today I learned about the advantages to bind mounts is because it allows us to make a change to a file, restart the container then the container to pick up on that change, we do not have to go and rebuild the image and redeploy. Another thing I thought was a great takeaway was from Entrypoint and cmd differences in Dockerfiles, an entrypoint is making the container executable and concrete, then when you add cmd (commands) they are appended to the end of the entrypoint, if you want to write over the entrypoint you need a new entrypoint flag.

What Did I Do -

Today it was all labs, so I guess for what did I do, I can mention I took a dockerfile image and I created a `.dockerignore` file, with this I specified specific directories as well as wildcard `*` file types such as `.git` that I want to cut out to ensure the image is as lean as possible. We verified this by running a `docker container exec <NAME> ls -la /WORKINGDIRECTORY` and verified what content was missing.

For tomorrow -

Up next we are going to be working more on Docker (We will go back to AWS Console soon). I want to get to Docker Swarm tomorrow in my studies, so hopefully depending on the time I am allocated I get the chance to get there.
Hello World!
Tags: twitter, jarvisscript, javascript, codenewbie
Published: 2020-08-29 04:33:59

---
title: Hello World!
published: true
description: introduction post
tags: twitter, JarvisScript, javaScript, codenewbies
canonical_url: http://christopherleejarvis.com/JarvisScript/hello-world/
//cover_image: https://direct_url_to_image.jpg
---

Welcome to my DEV blog. I'm Chris Jarvis, a front end developer in Nashville, TN. I go by JarvisScript on social media. You may have seen me on Twitter or CodeLand:Distributed. This was my first year to attend CodeLand.
 I have an underused blog [JarvisScript](http://christopherleejarvis.com/JarvisScript/) with my personal site, [Christopherleejarvis.com](http://christopherleejarvis.com/). To encourage me to use it more often, I will post, there and here on DEV simultaneously. My first few posts here will be refactors from my JarvisScript blog. Then I will add new posts. I haven't set my schedule yet.

The following is from my first post on JarvisScript.

It's a common practice to code the phrase "Hello World!", to the screen the first time you use a new language or program. Here's how "Hello World!" is created in a few languages. Do you recognize these languages?

```<title>Hello World!</title>```
```<H2>Hello World!</h2>```
console.log("Hello World!")
print ("Hello World!")
print "Hello World!"
Console.WriteLine("Hello World"!)
def index():
  return "Hello World!"

1. git add HelloWorld.html
2. git commit -m "Hello World!"
3. git push


 See you on DevDiscuss or Codenewbies twitter chats.

-$JarvisScript git push
The Future of Concurrent Web Programming
Published: 2020-08-29 04:16:59

---
title: The Future of Concurrent Web Programming
published: true
description: 
tags: 
//cover_image: https://direct_url_to_image.jpg
---

After spending most of time working on codebase with *event-loop based concurrency approach*, I recently joined a project that uses a more conventional *thread-based concurrency approach*. And wow, this makes me realize how unnecessarily complicated thread-based concurrency approach is, especially for the use case of building web applications. In this article, I want to talk about how I feel the future direction should be.

For readers who are not familiar with the two common concurrency approaches, I suggest reading this wonderfully written Stack Overflow answer: https://stackoverflow.com/questions/34855352/how-in-general-does-node-js-handle-10-000-concurrent-requests. 

While *thread-based concurrency approach* offers a more fine-grained control over the level of parallelism that can happen, it's just to complicated for general web-application use cases. Debugging where locks are incorrectly placed, and where potential race-conditions could happen is just too much work, especially considering any sizeable backend would eventually need to be horizontally scaled anyway. I also think the complexity costs to code and maintain *thread-based concurrency code* is too much when compared to the performance gain it could create for typical web applications.

*Given the number of cores and raw performance that hardware provides are improving in a much faster way than developers learning to write parallel code, the need of frameworks that makes it easy write parallelize code is the direction to go.* And I do think *event-loop driven concurrency* is the way to go. NodeJS, in my opinion, has done a great job on making *event-loop driven* programming enjoyable. Through NodeJS, a lot of junior developers without any background in how computer memory model works have been able to write parallel programs without even realizing that! :)

To summarize, I think *event-loop driven concurrency* has been one of the best inventions in the past decade in the realm of web development. I'm totally looking forward to see how *event-loop driven approaches* would evolve in the next phase. For example, I'm curious how would LibUV evolve next. As interesting fact, [Deno](https://deno.land/), which is created by the author of NodeJS, seems to use [Tokio](https://github.com/tokio-rs/tokio) in favor of [LibUV](http://docs.libuv.org/). I am going to do more research on the reasons why.
Randomness in Go
Tags: go
Published: 2020-08-29 04:08:46

---
title: Randomness in Go
published: true
description: 
tags: go, golang
---
This is to discuss ways to generate random values in go using the rand package or the crypto rand. They both achieve the same end depending on your need regarding true randomness and performance.  Lets start with the common `math/rand` package

```go
package main

import (
	"fmt"
	"math/rand"
)

func main() {
	for i := 0; i < 5; i++ {
		fmt.Println(rand.Intn(50))
	}
}
```



```go
$ go run gotest.go 
31
37
47
9
31
$ go run gotest.go 
31
37
47
9
31
```

As you can see from above, the run produces the same sequence because the default seeding source.Now, lets try to use a different seeding for our random sequence generation.

```go
package main

import (
	"fmt"
	"math/rand"
	"time"
)

func main() {
	r := rand.New(rand.NewSource(time.Now().UnixNano()))
	for i := 0; i < 5; i++ {
		fmt.Println(r.Intn(50))
	}
}
```

> ```
> // Random numbers are generated by a Source. Top-level functions, such as
> // Float64 and Int, use a default shared Source that produces a deterministic
> // sequence of values each time a program is run. Use the Seed function to
> // initialize the default Source if different behavior is required for each run.
> // The default Source is safe for concurrent use by multiple goroutines, but
> // Sources created by NewSource are not.
> ```

What we simply did was provide new seeding via new  source. Please note this source is not safe for concurrent use unlike the shared source used globally.

```go
$ go run gotest.go 
44
17
41
23
5
$ go run gotest.go 
18
7
37
17
13
```

 Now to be truly random, you can use the better `crypto/rand` but with less performance.

## Crypto Rand

```go
package main

import (
	crypto_rand "crypto/rand"
	"encoding/base64"
	"fmt"
)

func GenerateRandomBytes(n int) ([]byte, error) {
	b := make([]byte, n)
	if _, err := crypto_rand.Read(b); err != nil {
		return nil, err
	}
	return b, nil
}

func GenerateRandomString(n int) (string, error) {
	b, err := GenerateRandomBytes(n)
	if err != nil {
		return "", err
	}
	return base64.URLEncoding.EncodeToString(b), nil
}
func main() {
	for i := 30; i < 35; i++ {
		if s, err := GenerateRandomString(i); err == nil {
			fmt.Println(s)
		}
	}
}

```

What we doing here is very simple, we are not using clock to generate our seedling.
What’s new in React v17.0 ?
Tags: react, html
Published: 2020-08-29 03:23:45


![What's new in React v17.0 ?](https://i2.wp.com/blogreact.com/wp-content/uploads/2020/08/maxresdefault.jpg?resize=750%2C422&ssl=1)

Most of the React developers know that few days ago React released there new version. It’s more then 2 years since the last update in React. In this article we will gonna talk about new features came in the React v17.0.

## What’s new ?

In React v17.0 there is no new features. It’s hard to believe but that’s true. Instead of adding new features they resolved a big issue with React i.e upgrading. In the past whenever there is new version of React released it’s too much difficult to upgrade. For example  **legacy context**.

Deprecating the legacy context API, are impossible to do in an automated way. In this case React had two options they can end support for legacy context or they can continue the support. These both options are not that much good. The solution to above problem is came in v17.0.

## Gradual Upgrades

In the past developers just need to upgrade there whole app to a new version or they can stick to there old version. There was no win win situation for developers. But now with the gradual upgrade we can use two versions of React in same page.

In simple terms with the release of v17 you can run one part of your app with React old version and another part with latest version at the same time.

The gradual upgrade will only gonna beneficial in special cases where upgrading whole app to a new version is not an option like an old codebase with less maintenance. Otherwise upgrading to latest version is still the best way to use React.

## Event Delegation updated

Previously React used to add the event listener like onClick events to document node which become the bottleneck for future updates. But now instead of attaching event to document node it will gonna attach them to root element of your app.

![Event Delegation updated](https://i2.wp.com/blogreact.com/wp-content/uploads/2020/08/react_17_delegation.png?resize=750%2C580&ssl=1)

Thanks to this change, it is now safer to embed a React tree managed by one version inside a tree managed by a different React version. Note that for this to work, both of the versions would need to be 17 or higher, which is why upgrading to React 17 is important.

React `onFocus` and `onBlur` events have switched to using the native `focusin` and `focusout` events under the hood, which more closely match React’s existing behavior and sometimes provide extra information.

Checkout the demo for  [gradual upgrade](https://github.com/reactjs/react-gradual-upgrade-demo/).

[How to use Glide with React](https://blogreact.com/glide-with-react/)