teleren/devto huggingface dataset:
Do you want a design critique? I want to help
Tags: design, css, beginners, discuss
Published: 2019-06-13 14:16:39

Hey everyone! I'm toying with an idea for doing regular videos where I do design reviews and critiques for folks.

My hope would be that beginners get a lot of benefit from it, but also seasoned developers who are looking to grow their design skills would also gain from it.

Quick bit of history on who I am and why you might want this sort of content: I've got 13 years doing web design and development. The past 6, I worked at a design agency. In that time, I was the main UX strategist and then lead the design and development teams. I was involved with hundreds of design reviews and found that it was a passion of mine to help designers reach the next level with their designs.

## Interested?

There's been so much interest in getting critiques and I'm loving each request that's come in. I've currently grabbed all the requests from this post. I'm moving the request functionality to its own site to help make this better:

### [Get a Design Critique or a Code Review](https://peerreviews.dev/sign-up/)

## Critiques

As I publish, I'll try to add them here for now.

{% link https://dev.to/brob/design-critique-portfolio-danjel-dev-43ph %}

{% link https://dev.to/brob/design-critiques-pixmy-portfolio-website-design-2foe %}

{% link https://dev.to/brob/design-critique-corey-alexander-s-blog-and-logo-51i5 %}
Web Development With A Chromebook: Installing Nodejs
Tags: chromebook, node, npm, terminal
Published: 2019-06-13 14:16:04

Installing Nodejs is an important part of getting your Chromebook up and running for Web Development. With the addition of Linux apps and the terminal developers can now install Nodejs and gain access to NPM. I will walk you through how to install it, but first you need to install the terminal. If you have not done this you can see how to at by reading [Web Development With a Chromebook: Terminal — Setup](https://medium.com/@jacoboakley/web-development-with-a-chromebook-terminal-setup-dc0d4668d411).

1. Open your terminal
2. Get updates by running:
   * sudo apt-get update
3. Install curl and gnupg:
   * sudo apt-get install curl gnupg -y
4. Install Nodejs:
   * curl -sl https://deb.nodesource.com/setup_10.x | sudo -E bash - sudo apt-get install -y nodejs

For different versions you can visit the [Nodejs](https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-distributions) page.
GraphQL Schema Stitching
Tags: graphql, schemastitching, graphcms
Published: 2019-06-13 13:25:51

---
title: GraphQL Schema Stitching
published: true
description: Have you heard about schema stitching yet? Wonder what it is, when to use it or why? This is the post to get you started...
tags: graphql, schema stitching, graphcms
cover_image: https://thepracticaldev.s3.amazonaws.com/i/23wpp50saalvphc2ml9x.png
---

# GraphQL Schema Stitching and Enhancing Content APIs

**UPDATE:** While not entirely the same thing, there’s a new kid on the block for composing schemas called [federation](https://blog.apollographql.com/apollo-federation-f260cf525d21). We’ll be dropping our take on that in a few weeks. For now, enjoy the content below for a deep-dive into the land of GraphQL schemas.

GraphQL schema stitching is an excellent way to enhance APIs with a wealth of extra data. The concept is simple and the execution is straight forward. How it happens, however, is anything but. What lies beneath is a complex game of delayed requests, resolver assignments and more – but thanks to helpful folks at Apollo, we can let the tooling do the heavy lifting and give us the benefits of schema stitching with minimum effort.

## The High-Level Take on GraphQL Stitching
Schema Stitching is the process of combining multiple schemas from various APIs into a single Schema / API. GraphQL is a fantastic technology that allows the server to resolve our data across tables via a clean, query syntax, but what happens when those tables are actually different databases all together living on different servers? 

Wouldn’t it be great if we could resolve a list of hotels in one database with a list of regional activities in another through a single query? That’s what schema stitching allows us to do.

Schema stitching follows a four-step process:

1. Introspect the remote APIs. (Finding out what schema structure you have to work with.)
2. Handle type name collisions.
3. Associate which fields get added to which types.
4. Resolve the data.

## When to Ditch the Stitch
It's not always a good idea to stitch your schemas together. Here are some reasons why you might not want to stitch your schemas.

1. The endpoints are not versioned or reliable and might change on you without proper notice.
2. One endpoint for all your data also means one endpoint to take down the project.
3. Difference in TTL for your data.
4. Performance is a critical factor, you can optimize REST for better performance in server-to-server communication.

With the gotchas in mind, stitching is a great way to combine multiple data sets into a single distributable, explorable and maintainable API. Particularly in the API architecture for MVP projects or one-off sites, it's a great way to get the developers up and running, fast while staying in the GraphQL eco-system and not having the overhead of technical context switching.

## Let us Begin

Find the rest of the tutorial on [the GraphCMS Blog here](https://graphcms.com/blog/graphql-schema-stitching/).
Krisp App that removes noise during calls is now officially available for both Mac and Windows
Tags: noisecancellation, ai, productivity, krisp
Published: 2019-06-13 13:17:17

---
title: Krisp App that removes noise during calls is now officially available for both Mac and Windows
published: true
description: Krisp noise cancelling app that removes background noise in calls from both ends is now available both for Mac and Windows
tags: noise cancellation, AI, productivity, krisp
---

I recently wrote a post about this new AI app that removes background noise while you're in a call with someone. It's called Krisp and it's backed up by Deep Neural Networks.

So, essentially it works bidirectionally, which means it cancels the noise going from you to other call participants (Krisp Microphone), and the noise coming from other call participants to you (Krisp Speaker). All you do is choose it as a microphone and speaker from the conferencing app of your choice (like Slack, Zoom, Skype, Webex or anything your prefer) and then enjoy the calls. 

For the most important part - it works with any conferencing app (that allows to change audio settings), any headset or headphones (wired and wireless) and any microphone and speaker. 

Now the app officially launched as a full product for both Mac and Windows. They changed up the interface a bit, which looks way cool.

They introduced 2 new free and paid plans - Krisp for Individuals and Krisp for Teams

Using the app to remove noise coming from others to you (Krisp Speaker) is _free of charge_, while if you want to remove your own noise as well, you will have to upgrade to Krisp Premium ($20/month or $120 a year). Of course, there's a 14 day free trial with no credit card required. 

Krisp for teams works the same way. You register with your corporate email and use Krisp to remove other's noise for free, and upgrade ($20/month/user) to Krisp Premium to remove your own noise too. 

What I think is the best about Krisp now, is that they have a neat referral program. 

You can basically share Krisp with a personal link to friends and earn free credits. 

1. Invite one friend - you get Krisp free credits for 3 months, while they get 2. 
2. Invite 2 friends - you get Krisp for half a year while they get for 2. 

This works differently for Krisp for teams. Here you get to invite as many team members as you want (with the same corporate email) and you all get Krisp for free for half a year. You'll have to make sure it's done within the first 7 days of your own registration. 

For now, I believe this app has a great potential as a productivity app along with other windows and <a href="https://krisp.ai/blog/productivity-apps-mac-2019/">mac productivity apps</a>. It will be an extra help for all remote workers, freelancers, teams and enterprises out there.

I'm excited to see what they'll do in the future. 

The app's been featured on <a href="https://www.producthunt.com/posts/krisp-windows">Product Hunt</a> as the Product of the Day. You can check their official <a href="https://krisp.ai/">Krisp Website</a> and test the app yourself.
What Makes a Great Programming/Technical Article?
Tags: discuss, writing
Published: 2019-06-13 13:04:19

What do you look for when considering if a programming/technical article is great? What style of technical articles do you prefer? Tips and tricks, tutorials, how-tos, etc...

For myself, I value when the article has a repository associated with it so I can download the source code or examples. If the information provided is backed-up by examples and the writing is clear and concise I usually consider that a great article. 

I'm also a sucker for good charts and graphs 📊
What is your worst typo trigger?
Tags: discuss, askdev
Published: 2019-06-13 12:59:20

---
title: What is your worst typo trigger?
published: true
description: status vs state is driving me nut. What is yours?
tags: discuss, askdev
cover_image: https://images.unsplash.com/photo-1446102892025-3900145fd2a7
---

I just started to learning React and I keep type `status` instead of `state`.
```javascript
// App.js with React
state = {something: 'whatever'}
```
vs
```
$ git status
```

I also had a hard time with `self` vs `this` when I was studying Python and JavaScript at the same time, as well as `a.length` vs `len(a)`. I heard that people using R are experiencing a similar thing.

What is yours?
slim: Create a micro-vm from a Dockerfile
Tags: docker, virtualization, showdev
Published: 2019-06-13 12:54:39

---
title: slim: Create a micro-vm from a Dockerfile
published: true
description: 
tags: docker, virtualization, showdev
---

`slim` will build a micro-vm from a Dockerfile. Slim works by building and extracting a rootfs from a Dockerfile, and then merging that filesystem with a small minimal kernel that runs in RAM.

This results in a real VM that can boot instantly, while using very limited resources. If done properly, slim can allow you to design and build immutable unikernels for running services, or build tiny and embedded development environments.


### Build a micro-vm

Create a micro-vm from a Dockerfile. Use `build` command with a directory containing a [Dockerfile](https://github.com/ottomatica/slim/tree/master/images/alpine3.8-simple).

```
$ slim build images/alpine3.8-simple
```

The resulting image is only 23MB! It can be used in virtual box, kvm, or hyper-kit. 

### Running a micro-vm

Provision a new instance of the given micro-vm image as a virtual machine.

```
$ slim run micro1 alpine3.8-simple
```

### Demo

This short demo illustrates an image being built, booting with hyper kit in 3 seconds, and then accessing the vm from ssh.

![slim](https://thepracticaldev.s3.amazonaws.com/i/2exohq10w0akfwzod9xc.gif)


### Finding out more

Please see the [GitHub repo](https://github.com/ottomatica/slim/) for more information!
How Calculus is Used in Software Engineering?
Tags: education
Published: 2019-06-13 12:19:08

Maths is a subject whose concepts and applications are not only used in academics but also in real life. There are many major industries around the world, which uses its fundamentals and principles. One such fundamental is calculus, which is the study of change. It has two major branches, differential calculus and integral calculus. But have you ever wondered what is the use of calculus in Software Industries? Or How it is used in Computer Engineering? We will get to know the answers to these questions in this article.

The computer science field focuses on algorithms, operating systems, data structures, artificial intelligence, programming, etc. Addition of the discrete number of data from real measurements is one of the applications of integrals. Also, it is used for approximation algorithms.

For Graphics and Designing, we need to know the concept of Analytic Geometry and Linear Algebra indepth. This will help you to transform your creative ideas into videos and pictures and attract customers to your product.

Statistics are used in Machine Learning and Data Mining, where the work is all based on the data available in the database. Basically, this database consists of information of consumers both active and non-active, with which we can understand the buyer’s needs and develop the product based on the market demand.

In Robotics, a coder who has programmed the robot can check the physical movement of the robot as per the command that was given to it. Here comes the use of differential calculus. Therefore,  it is one of the applications of derivatives.

In the same way, we have multiple applications based on rates of change & slopes of curves and collection of quantities & the areas under curves, in software or computer industries. Apart from calculus, there are other mathematical branches such as geometry, algebra, etc., which are also applied in the software field.

Download BYJU’S-The Learning App and get personalized and interactive videos to have a good learning experience.

https://www.youtube.com/watch?v=t0ICtojeJ6w
Matching elements with selectors in JS
Tags: javascript
Published: 2019-06-13 11:54:59

---
title: Matching elements with selectors in JS
published: true
description: Learn about the helpers `matches` and `closest` in JS/HTML!
tags: javascript
series: Blog-A-Day in June
---

Another short one! Let's talk about the two HTML helper methods, `Element.matches` and `Element.closest`. Both of these methods are supported in modern, evergreen browsers. 💚

These are both just nice helper methods that make your life writing HTML/JS easier! 🌈

## Matches

The first, `.matches`, is a way to check if an element matches a selector. Selectors are `.foo`, `#bar`, or `form[method="POST"]`, just like you'd use in `querySelector` or a CSS rule.

This is just a simpler way to check a condition. For instance, we can replace all these methods with a more generic equivalent:

```js
el.classList.contains('foo') /* == */ el.matches('.foo');
el.hasAttribute('hello')     /* == */ el.matches('[hello]');
el.id === 'bar'              /* == */ el.matches('#bar');
```

In addition, we can write more complex queries in a single request. How would I match a `button[type="foo"].green`? I can simply pass that whole string to `el.matches`! 🤯

## Closest

The second method, `.closest`, is a practical extension of `.matches.` Instead of checking just the current element, it checks itself _and_ all parent elements- until it finds one that does match. 🆙

This is very useful when you're adding an event handler to a group of buttons or elements. Here's an example:

![Where we add ze handler 〰️](https://thepracticaldev.s3.amazonaws.com/i/jvzpe9yfvsnmh5wzb9yj.png)

Rather than adding a handler to every button- maybe because you'll be adding more buttons as we go along, but also because you're paying more memory and performance cost adding _every_ single handler- we can just add a single handler to the parent. 🤔

To find out what button we actually clicked on- because perhaps the click was on an inner element (such as the `<strong>` above), our event handler might look like this:

```js
root.addEventListener('click', (event) => {
  const button = event.target.closest('button');
  if (!button) {
    return;  // clicked on the root itself or something else ¯\_(ツ)_/¯
  }
  // ... do something with the button we found!
});
```

For me, I'll often set attributes like `data-name` or `data-type` so I can do something programatically with each button or _thing_ that's under your root. 🌲👍

# Thanks!

That's all for today! Hope you've learned something.

13 👋
How many of you are into crypto or blockchain etc & what do you do?
Tags: crypto, blockchain, bitcoin, ethereum
Published: 2019-06-13 11:27:14

Just a quick question to see if there are a lot of crypto/block people on dev.to. 

- How did you get into it & why?
- What did/do you do?
- Where do you see the space going?
- What do you think? (about anything).

Thanks :)
Lesson 4 : Variables In Java
Published: 2019-06-13 11:21:04

A Java variable is a piece of memory that can contain a data value . A variable thus has a data type . Variables are typically used to store information which your Java program needs to do it's job .


__Variables :__

_1- local_

_2- instance_

_3- static_

   ![Alt text of image](https://1.bp.blogspot.com/-_KKgYsgtkXY/XQIYE3IBwvI/AAAAAAAAIMU/TpDi88cbMqMgeCyIJ2H6JHllDPuZtsoagCLcBGAs/s1600/variables.png)  

Variables have some attributes that you can see in the picture below :

   ![Alt text of image](https://1.bp.blogspot.com/-ZrNuud_PUKY/XQIrsnlOhZI/AAAAAAAAIMg/Ss_DVArbdVwjmhT1RSTyndfyWtReH8WsQCLcBGAs/s1600/table.png)

Notice the example below that use static and instance variables :

![Alt text of image](https://1.bp.blogspot.com/-bTgyXhtttWo/XQIwIz50HZI/AAAAAAAAIMs/lctw0kJ26VQy5iS6p7kQI96E6ooawgckgCLcBGAs/s1600/static.png)
How do you anxiety during Interviews?
Tags: career, discuss
Published: 2019-06-13 11:14:24

---
title: How do you anxiety during Interviews?
published: true
description: 
tags: career, discuss
cover_image: https://thepracticaldev.s3.amazonaws.com/i/mris903y9qyxapogpnjo.jpg
---

I always have to deal with anxiety when I go for an on-site interview and this makes me struggle to give the best impression of myself also it makes it difficult for me to think clearly to provide solutions to "simple" coding exercises that I'd solve on a normal day.
So I want to know how you deal with anxiety in this situation.
The end game for developers
Tags: programming
Published: 2019-06-13 11:11:33

---
title: The end game for developers
published: true
description: What is the true game changing developer experience?
tags: programming
---

Something I often wonder is how we're stuck in this pre-historic phase of software development. Where technology has largely advanced from a consumer experience standpoint, but as developers it feels like we're moving at a snails pace.

The languages of today remain largely unchanged. The frameworks which appear continually offer the same experiences as those that came before them. And every so often we develop new technologies which create a "paradigm shift" which ultimately sets us back 10 years as we have to build the same tools again for new platforms.

As a developer and former systems engineer, I'm tired. I'm tired of the same old same old. I'm tired of building the same things as I built before. I'm tired of constantly reinventing the wheel because we decided to use a different technology stack or because we want to learn docker, kubernetes, Go or whatever the next new hyped thing is.

Ultimately I feel like software development is at a standstill. And the reason why we only have 24m developers in the world is because we're not progressing. We're not evolving. I believe this has to change.

I think the end game for developers is really to turn every human being with a mobile device into a developer. This requires a fundamental change in how we design programming languages and tools. It's a first principles approach no one dares take.

What is the end game for developers? Let us know your thoughts.
Cross-posting to Dev
Tags: discuss, writing, productivity, webdev
Published: 2019-06-13 10:24:44

I exclusively write all of my content for my own platform ( [CodeTips](https://www.codetips.co.uk) ). 

It's still a relatively new site so, to get the content out to more people, I cross-post to dev. 

Up until now, I've cross-posted the entire contents to dev and linked back to my site if I am referencing previous posts etc. 

I'm now considering changing this and, instead, posting a short summary of what the new article is and linking back to [CodeTips](https://www.codetips.co.uk) if you want to read it. 

Ultimately, this is so the original content gets the traffic and hopefully, I can make CodeTips into a success. But I don't want to do this and end up pissing everyone off.


I, therefore, have two questions:

1. I've managed to gain a decent following on Dev, so I'd like to assume my content is appreciated. Would this change be seen as negative by the audience I'm reaching? 

2. Has anyone made a similar change? If so, what impact did you see?
npm commands you may not know, but useful!!!
Tags: node, npm, terminal
Published: 2019-06-13 11:03:48

### `npm home packageName`
This command open package's home page.

```
$ npm home express
```

### `npm ls --depth 0`
List packages you installed

```
$ npm ls --depth 0
```

### `npm prune`
This command will remove packages which are not in `package.json`, so this will be helpful to keep your project clean.

```
$ npm prune
```


### `npm outdated`
This command checks the latest version of packages you installed

```
$ npm outdated

styled-components             4.2.0    4.3.1    4.3.1  project_name
stylelint                    10.0.1   10.1.0   10.1.0  project_name
three                       0.104.0  0.104.0  0.105.2  project_name
ts-loader                     5.4.5    5.4.5    6.0.2  project_name
```


Got great suggestion from M. Langhard a.k.a @riscie
n
https://github.com/tjunnone/npm-check-updates 

We can check outdated packages one word and update with an option which is pretty easy.

```zsh
$ ncu

$ ncu -u 
```
What's the last advice you read ?
Tags: discuss, advice
Published: 2019-06-13 10:42:57

---
title: What's the last advice you read ?
published: true
description: a post about advice in programming
tags: #discuss #advice
---

### The first rule of functions is that they should be small. The second rule of functions is that _they should be smaller than that_ ###

from : **The Robert C. Martin Clean Code Collection (Collection)
by Robert C. Martin**
How to make Grammarly checks all contents inside Gutenberg blocks
Tags: internet, gutenberg, wordpress
Published: 2019-06-18 07:33:32

---
title: How to make Grammarly checks all contents inside Gutenberg blocks
published: true
tags: Internet,Gutenberg,WordPress
canonical_url: https://kevinhq.com/how-to-make-grammarly-checks-all-contents-inside-gutenberg-blocks/
---

We all know that Grammarly can’t check all the paragraph we write inside Gutenberg block at once. We need to click on each paragraph to

[Continue reading how to make Grammarly checks all contents inside Gutenberg blocks](https://kevinhq.com/how-to-make-grammarly-checks-all-contents-inside-gutenberg-blocks/)

The post [How to make Grammarly checks all contents inside Gutenberg blocks](https://kevinhq.com/how-to-make-grammarly-checks-all-contents-inside-gutenberg-blocks/) appeared first on [kevin's tech blog](https://kevinhq.com).
What homebrew programs/scripts/commands/websites have you created?
Tags: discuss
Published: 2019-06-13 10:32:25

---
title: What homebrew programs/scripts/commands/websites have you created?
published: true
tags: discuss
---
As developers we often want to increase productivity and streamline our workflow. One of the ways we like to do this is to roll our own tools to 'scratch our own itch'.

I'm interested in hearing what sort of programs, scripts, commands, websites you have created to help out.