teleren/devto huggingface dataset:
The challenges and related solutions for remote Work
Published: 2020-01-31 07:09:12

Remote work is doing your work anywhere, you do not need to be in the office as it is remotely, you can work from anyplace that's make you feel comfortable.

As the remote work need some resources, The challenge I've been facing during remote work is the problem of connection, the internet is not always on our side, sometimes it goes slow or not working at all.
As remote work really need an internet,if it goes down then remote work will fail and that's will reduce the productivity of the team.

Everything can not be done remotely, there are some cases where you need to be onsite I can say. Through remote work, it will be difficult to deal with those problem(cases). 

Sometimes we need help that can not be given through remote where you need to interact more with your teammates.

As there are some challenges, also there are related solutions.
For the problem of an internet on my part I had to first make sure that I have sufficient connection at least 15 minutes before the meeting with teammates.
You can check your connection by doing different tough or high connection needing staff like watch music on YouTube to make sure the internet will not deceive you.
 
Regarding the help that needs to be face to face with teammates, we had to use screen sharing , screen shoots to better explain what needs to be done or solved.

By concluding remote work leads to high productivity as everyone works from where he feels comfortable and at anytime that please him.
How to use React forwardRef
Tags: react, forwardref
Published: 2020-01-30 18:39:23

When we are creating a React application, some times, we need access properties of a Element created through jsx. As an example, a simple case where we want to set focus on a input text. In this case we can do that using the React hook useRef in a straight away.

```javascript
import React, { useRef, useEffect } from "react";

function App() {
  const inputRef = useRef(null);

  useEffect(() => {
    inputRef.current.focus();
    console.log({ inputRef });

    // eslint-disable-next-line react-hooks/exhaustive-deps
  }, []);

  return (
    <div>
      <input type="text" ref={inputRef} style={style} />
    </div>
  );
}

export default App;
```

The useRef hook returns an object that contains a reference to the corresponding DOM node whenever that node changes.

![](https://imgur.com/z6ynbqJ.png)

However, what if we are using a pretty cool Input Component from a third party and go along with the same way, using the useRef hook?

```javascript
import React from "react";

const Input = () => <input type="text" style={style} />;

export default Input;
```

```javascript
import React, { useRef, useEffect } from "react";
import Input from "./Input";

function App() {
  const inputRef = useRef(null);

  useEffect(() => {
    if (inputRef.current) {
      inputRef.current.focus();
    }

    console.log({ inputRef });

    // eslint-disable-next-line react-hooks/exhaustive-deps
  }, []);

  return (
    <div>
      <Input ref={inputRef} />
    </div>
  );
}

export default App;
```

So we will receive the warning message and also can see that the reference to Input Component is null:

![](https://imgur.com/o7WSJaH.png)

In this case, the error was because the Input Component is a children of App component and the "ref" cannot pass from App Component to Input. On this case, we need to change the Input Component to use the forwardRef.

```javascript
import React, { forwardRef } from "react";

const Input = (props, ref) => <input ref={ref} type="text" style={style} />;

export default forwardRef(Input);
```

![](https://imgur.com/Kgc3YI1.png)

And another example where we may need to use forwardRef is in conjunction with the High Order components.
Gorilla Chat - Blockstack based chat still going!
Tags: blockstack, chat, gorillachat, gorilla
Published: 2020-01-31 06:18:33

Make group chats or 1-on-1 conversations, entirely over the decentralized web using Blockstack!

Come check out GorillaChat at https://gorilla.chat!

Stay in the know:
https://twitter.com/JunglePlexus
https://www.instagram.com/jungleplexus/
https://www.reddit.com/user/JunglePlexus
https://www.facebook.com/Gorilla-Chat-100106268159987/
https://www.youtube.com/channel/UC7EYSCceyazmeLNPXj9DxFA
Nhóm các font chữ thường gặp trong in ấn
Published: 2020-01-31 04:15:03

Nhắc đến font chữ thì số lượng font chữ dành riêng cho ngành in ấn là con số có thể nói rất lớn. Chính vì số lượng font chữ nhiều nên khi lựa chọn thiết kế, bạn sẽ gặp phải rất nhiều khó khăn phân vân và bị chi phối bởi có quá nhiều sự lụa chọn. Nên việc phân nhóm font chữ là điều rất cần thiết giúp giảm được thời gian trong khâu lựa chọn font chữ. Trong bài chia sẻ hôm nay Công ty thiết kế in ấn Kalapress sẽ giới thiệu sơ qua cho các bạn các font chữ thường gặp và được sử dụng nhiều trong in ấn.


Font chữ nói chung thường chia thành năm nhóm chính, như sau:


1. Geometric Sans 

Ưu điểm: sáng, tính thực tế, hiện đại, phổ biến.
Nhược điểm: có phần hơi đơn giản và nhàm chán, pha nét lạnh lùng.
Ví dụ Helvetica, Univers, Futura, Avant Garde, Akzident Grotesk, Franklin Gothic, Gotham. 

2. Humanist San

Những font chữ in ấn không chân thiết kế dựa trên nét bút viết tay.
Ưu điểm: Tạo được thiện cảm cho người nhìn. Vẫn giữ được tính hiện đại.
Nhược điểm: Bản chất là nhiều chi tiết, tính nhất quán không cao. Đôi lúc có những nét mỏng kết hợp nét dày vô tình tạo ra chi tiết thừa.
Ví dụ: Gill Sans, Fruitiger, Myriad, Optima, Verdana. 

3. Old Style

Đây là những font chữ in ấn có thâm niên khá lâu, có thể nói đây là thành quả của nghệ thuật viết tay sau nhiều thế kỷ phát triển.
Nhận biết bởi sự tương phản nhẹ giữa các nét. Nhìn kỹ chúng ta dễ thấy các kiểu chữ có xu hướng nghiêng nhẹ sang trái.
Ưu điểm: Thích hợp cho các dự án, sản phẩm mang nét cổ điển, truyền thống.
Nhược điểm: Không có hiện đại, sự trẻ trung mới mẻ..
Ví dụ: Jenson, Bembo, Palatino. Đặc biệt là Garamond; mặt chữ được coi là hoàn hảo nhất tới giờ. Cho dù không ít người cố gắng cải thiện nó trong suốt một thế kỷ rưỡi. 

4. Transitional và Modern – Sự két hợp giữ truyền thống và hiện đại 

Sắc nét, chuyên nghiệp hơn so với phong cách cổ điển.
Ưu điểm: Mạnh mẽ, phong cách, năng động.
Nhược điểm: Vẫn mang hơi hướng baroque cổ điển so với kiểu hiện đại.
Ví dụ: Times New Roman, Baskerville, Bodoni, Didot. 

Download hàng nghìn phông chữ đẹp trên https://graphics.vietnamprinting.com/
Jan. 31, 2020: What did you learn this week?
Tags: weeklylearn, discuss, weeklyretro
Published: 2020-01-31 05:09:04

It's that time of the week again. So wonderful devs, what did you learn this week? It could be programming tips, career advice etc.

![Brain lifting weights saying knowledge is power](https://media.giphy.com/media/ijxKTF6iE4K4M/giphy.gif)

Feel free to comment with what you learnt and/or reference your TIL post to give it some more exposure.

{%tag todayilearned %}

And remember, if something you learnt was a big win for you, then you know where to drop it as well.👇👇🏻👇🏼👇🏽👇🏾👇🏿

{% link https://dev.to/jess/what-was-your-win-this-week-3iik %}

![soccer player celebrating a goal](https://media.giphy.com/media/kQg7fQMvVD5Ha/giphy.gif)
What will programming look like in 100 years?
Tags: computerscience
Published: 2020-01-31 04:42:08

Think about the languages you use.  What improvements will make them better?  Now repeat that improvement process 10^13 times.  

The year is now 2120, and development of code has been evolving through the ages for four generations.  

You now have 3 physical modes of software development:

* Typing syntax with keyboard (legacy)
* Talking in natural language the software requirements to an AI IDE that translates to working application. (most popular)
* Thinking in a dream state, which attempts to extrapolate the ideas into software requirements passed to an AI IDE that translates to working application. (experimental)

Natural Understanding AI has taken central role in everyday development, handling every facet of hardware and software development.  Even the legacy coders cannot escape its grasp, as its integration in computers is far too deep.  

Computer Science has shifted into linguistic teachings, to better transcribe the nuances of development.  The English language has added millions of words to its dictionary to improve intent.  

You want to build a video game, so you begin speaking...

### Cavemen brandishing spears with the style of Call of Duty 103. Build and Launch.

You wait a few seconds until the progress bar is done. 

```
Build Successful.  Launching...
```

You successfully made a Call of Duty 103 clone of cavemen, with thousands of spears.  Before the screen starts, you are alerted to Copyright Infringement, and your social score has been flat-lined.  A security facilitator will arrive at your door shortly. 

You hear a knock at your door.  The latest Iron XO is at the front steps.  It does not wait for you to open the door.  It melts a perfect silhouette through the door, and warns you to obey the law.  

You decide to make another video game, so you begin speaking...

### Cavemen brandishing spears with the style of Call of Duty 103, remove all copyright infringements.  Build and Launch. 

You shatter share the game with the world and play with a few random people, before going to bed and deleting the share.  

Software development has been completely automated.  

You are no longer needed.
Wrecking ball animation in 14 lines of Python
Tags: python, 3d, tutorial
Published: 2020-01-31 04:32:44

---
title: Wrecking ball animation in 14 lines of Python
published: true
description: Easy 
tags: python, 3d, tutorial
cover_image: https://i.imgur.com/9OUdwNR.gif
---
Easy Blender 3d tutorial:

https://slicker.me/blender/wreck.htm

![wrecking ball](https://i.imgur.com/9OUdwNR.gif)
I hated Regex so much that I made iHateRegex.io
Tags: javascript, vue, computerscience, regex
Published: 2020-01-31 04:10:40

In years of being a developer I never really spent the time to learn regular expressions. It always seemed like a hard nut to crack.

<center><img src="https://i.imgur.com/V4dxfUs.png" width=300></center>

I used to spend so much time trying to find regular expressions for my use case.

> now you have two problems

## Enter iHateRegex.io

<center><img src="https://i.imgur.com/PwNaWOk.png" width=500></center>

https://iHateRegex.io

I made a simple tool that will explain to you commonly used regular expressions work.

It is a simple tool that will show a visual graph as well as matches and highlighting for code.

Hope you like the tool :D 

### Tech

Public Repo: https://github.com/geongeorge/i-hate-regex 

The application is built using:

- The awesome Nuxt.js framework
- Tailwind.css
- for the visual demo I used: https://gitlab.com/javallone/regexper-static

### Update

- Thank you for all the love and support guys 💓 
Posting this has given me enough motivation to work on this more.
- The application is just an MVP right now. With the support of everyone, I can make this into a great project for beginners.
- I'm also working on tutorial pages to get started on regex. [here's a sample](https://imgur.com/a/giEWl0j)


### Producthunt launch

I just launched iHateRegex on *Producthunt* 😺

👉👉
https://www.producthunt.com/posts/i-hate-regex

<center><img src="https://i.imgur.com/8FKfOeO.png" width=500></center>
Loading Google Credentials without .json
Tags: clojure, gcloud, ci, cd
Published: 2020-01-31 04:16:12

---
title: Loading Google Credentials without .json
published: true
date: 2020-01-31 04:00:00 UTC
tags: clojure,gcloud,ci,cd
canonical_url: https://alexanderoloo.com/blog/2020/01/31/loading-google-credentials-without-json.html
---

I primarily use heroku to run my applications and Travis for CI/CD. I’m also currently giving Github Actions a try. So what do all those have in common? Well, for starters they have generous free tiers, but more importantly they’re not in the Google Cloud. Google cloud has some really nifty capabilities and so I end up using them pretty often. That’s where my problem started.

When you want to authenticate your application from outside the Google Cloud you need to read in a `.json` file that contains the service account information.

```java
File credentialsPath = new File("/home/user/Downloads/[FILE_NAME].json");  

```

or

```bash
export GOOGLE_APPLICATION_CREDENTIALS="/home/user/Downloads/[FILE_NAME].json"

```

So we basically need to get this `.json` file into all our CI/CD pipelines and our application servers. Obviously we can’t store the credentials in `git` so we need to encrypt and upload the file. Admin!

[alekcz/google-credentials](https://github.com/alekcz/google-credentials) solves exactly this problem. Your clojure app can now load credentials from an environment variable using `alekcz/google-credentials`.You need not keep that super secret `.json` file anymore. Copy its contents into the environment and delete the file!

And there you go. Nothing but net.

![Kobe!](https://media.giphy.com/media/UYlu2EDUdiVl6/giphy.gif)

_May your build always pass._

_Alex_

P.S. Rest in peace Kobe.
.NET Resources
Tags: csharp, beginners, codenewbie, github
Published: 2020-01-31 03:40:01

I have been working on this project directory of simpler solutions with .net components like console applications, wpfs and other project formats in visual studio. I have only just managed to publish it on github for others to use and edit in their own projects. This is an initiative of open source innovation that foster collaboration and innovation between developers. You can use the code for free by modifying, copying (give credit to me) and editting it for commercial or personal use. 

The code base for github and gitlab can be found here: 
1. github: https://github.com/Calebyang93/csharpdirectory
2. gitlab: https://gitlab.com/calebyang.dev/dot-net-code-templates
POSTMAN can't get request body object
Tags: postman
Published: 2020-01-31 03:36:37

hi all i have issue when i tried to post new data to MongoDB via postman. I use POST methor to push data, there is my code methor: 
postman display ===>
POST http://localhost:3000/users/
{
	"name": "Ngoc Tram",
	"email": "tramltn24@example.com",
	"password": "Red123545!"
}

index display ===>
------------------------------------------------
app.post('/users', async (req, res) => {
  const addUser = new User(req.body)
  console.log(req.body)
  try {
    await addUser.save()
    res.status(201).send(addUser)
  } catch (e) {
    res.status(400).send(e)
  }
})

-----------
and here is my terminal result ==>
---------------------------------------------
[nodemon] restarting due to changes...
[nodemon] starting `node src/index.js`
Server is up on port 3000
{}
{}
------------------------
In addiction, GET methor still working correctly
How did you manage time to read/write a blog?
Tags: discuss, blogging
Published: 2020-01-31 03:05:00

One common question I used to receive most of the time (or all-time).
How did you manage time to write a blog? or how you are reading these many blogs (on various websites) and making comments on some other creator's post.

Even people wondering about social engagement with other bloggers :smile:

How often you are receiving this question? And wish to hear Answer from your perspective.

Let's discuss 🤗
iOS App Development is a Nightmare
Tags: ios, apple
Published: 2020-01-29 04:21:41

Pretty much every dev tool used in the development of native iOS apps has caused me issues in the past. Even just downloading an open-source app from Github and trying to build and run it is a nightmare. Xcode is probably the most expansive IDE around but makes it difficult to complete even the most basic tasks without having to solve a nondescript compile error in the process.

# Language
When I first started programming I had goals of becoming an iOS developer. This was when Swift was still a fledging language which meant that most existing codebases, tutorials, and documentation of the time we're migrating from Objective-C, or worse, using both languages in conjunction. This led to an astounding amount of confusion and frustration. So many errors and warnings telling you to convert to a certain Swift version only to find out that the CocoaPods package that the app depends on isn't compatible.

# Code Signing
By far the most anxiety-inducing, ass-backward hurdle to overcome when trying to run an app is the code signing and provisioning process. Without being enrolled in the Apple Developer Program it is monumentally difficult to configure and run an application with any advanced app capabilities. Even with the proper certificates you will more than likely experience issues with the bundle identifier not matching your provisioning profile, certificates being revoked for seemingly no reason at all, and the neverending struggle of code signing apps that you're collaborating on with multiple devs.

# Documentation
What makes all of this worse is the fact that Apple's Developer Documentation is atrocious. The documentation for many of the core concepts needed for programming for iOS has been relegated to the shadow realm aka the documentation archive making it near impossible to find. When you do find what you're looking for, chances are that the page hasn't been updated in years and the information you're seeking is only documented in a release note that you'll never find. Worse even are the topics only explained in a WWDC video causing me to comb through pages of video transcript to find the one instance where someone sheds light on the issue you've been having.
How to Mind Your Own Business?
Published: 2020-01-31 02:25:54

I was walking past the mental hospital the other day,
and all the patients were shouting, ’13….13….13.’

The fence was too high to see over, but I saw a
little gap in the planks, so I looked through to see
what was going on.

Some idiot poked me in the eye with a stick!

Then they all started shouting, ’14….14….14.’
Getting balenaEtcher to Work on macOS Catalina
Tags: mac, macos, apple, balenaetcher
Published: 2022-05-22 09:53:22

---
title: Getting balenaEtcher to Work on macOS Catalina
date: 2020-01-31 01:38:24 UTC
tags: mac,macos,apple,balenaetcher
canonical_url: https://hkamran.com/article/getting-balenaetcher-to-work-on-macos-catalina
published: true
cover_image: https://i.imgur.com/BUdH8wn.png
description: balenaEtcher was throwing an error when trying to flash an image to a microSD card, here's how I fixed it
---

I just recently upgraded to macOS Catalina, and needed to flash a microSD card for my Raspberry Pi. However, balenaEtcher was throwing an error when trying to flash the image.

After a little while, I realized that Catalina included some extra privacy protections. I went into System Preferences and turned on “Full Disk Access” for balenaEtcher. But lo and behold, the error still persisted.

## The Solution

After doing a bit of research, I found that balenaEtcher, and Etcher (the former name of balenaEtcher), had a command-line utility to launch the app.

`sudo /Applications/balenaEtcher.app/Contents/MacOS/balenaEtcher`

The command booted up a graphical interface of balenaEtcher, the difference that, because of the “sudo” in the command, it ran under the root user. This bypassed the security/privacy restrictions placed (wisely) by Apple on Catalina.

![Image: balenaEtcher after being opened with sudo from the command-line](https://imgix.cosmicjs.com/f9e82ae0-438b-11ec-9580-ebf669758fed-getting-balenaetcher-to-work-on-macos-catalina-1.png)
How I setup layer on serverless.yml
Tags: serverless, aws
Published: 2020-01-31 01:15:47

```yml
provider:
  name: aws
  runtime: nodejs12.x
  stage: dev
  region: ap-southeast-2
  iamRoleStatements:
    - Effect: 'Allow'
      Action:
        - 'lambda:InvokeFunction'
        - 'lambda:InvokeAsync'
      Resource: '*'
environment:
  variable1: value1
layers:
  axios:
    path: deps
    name: axios
    description: axios module
package:
  exclude:
    - .prettierrc
    - .eslintrc
    - ./node_modules/**
    - ./package.json
    - ./package-lock.json

functions:
  hello:
    handler: handler.hello
    layers:
      - Ref: AxiosLambdaLayer
```

## Upload layers

```yml
layers:
  axios:
    path: deps
    name: axios
    description: axios module
```

In the Layers property, you should point out which folder in the project directory you are going to upload to AWS Lambda as layers.

The key point I am going to illustrate here is,

## **_do not use `nodejs`as folder's name_** (I use `deps` here) and there must be a folder which is named with `nodejs` in this folder (`deps`).

As the Serverless Framework will zip the folder automatically when you run `serverless deploy` and upload the zip file to AWS, when the lambda `handler.js` require module, lambda will navigate it to `/opt/nodejs/` to find out the module.

In the `nodejs` folder, there is `package.json` file, and run `npm install --save` for download all modules locally. Then there are `package.json`, `package-lock.json` and `node_modules` under `nodejs`.

## Ref the layer

```yml
functions:
  hello:
    handler: handler.hello
    layers:
      - Ref: AxiosLambdaLayer
```

In the field of function, the function which need layers created above should config with `layers` property. use `Ref` and the value should be layer name with capitalized initial letter plug string of `LambdaLayer`(eg._AxiosLambdaLayer_).

If you are going to use existed layer, you can use ARN

## excluded files

```yml
package:
  exclude:
    - .prettierrc
    - .eslintrc
    - ./node_modules/**
    - ./package.json
    - ./package-lock.json
```

Using `./` for just excluding `node_modules` and `package.json` from root directory, do not use `node_modules/**` and `package.json`, it will exclude `node_modules` and `package.json` from `deps/nodejs/` folder.

## [useful link](https://medium.com/@anjanava.biswas/nodejs-runtime-environment-with-aws-lambda-layers-f3914613e20e)
JavaScript, stuff you've never heard of (probably): #2 `with` statement
Tags: javascript
Published: 2020-01-31 00:21:24

Before I tell you about destructuring's caveman ancestor, the `with` statement, I would like to make a statement of my own:



• I do not condone or deny the existence of this language feature.
• I fully respect that code in general should be "smarter than table, but dummer than dog". 🐕
• I am not responsible for any chunks of food left in your keyboard by the close of this post.
• My dog is called Lizzie

Ah yes the `with` statement, you know the statement, other than `this` all we need is a `that` keyword and we have the single most confusing language in history.

```js
with(console) {
    table({legs: 4, material: 'wooood'});
}
```

The equivalent today is: 
``` js
const {table} = console;
table({legs: 3, material: 'space wooood'});
```

The with statement, it's disgusting but I love that it is there, like all unfashionable things, we should never forget, the new things aren't really new, just reimagined.

Thanks for a fantastic response for my last post, didn't expect that!
NoCode Accelerator (alpha)
Tags: nocode, lowcode, vc, accelerator
Published: 2020-01-31 00:11:24

---
title: NoCode Accelerator (alpha)
published: true
description: NoCo is launching an alpha accelerator program
tags: nocode, lowcode, vc, accelerator
---

Hi Everyone,

I'm excited to announce we're going to do an *alpha* run of our **no-code accelerator**. We're going to select 5 companies and help them:

- build their product
- launch their product
- raise money (or make money) depending on the goals.

## What it entails:


- 8-week program
- Meet virtually every week
- We'll help you build your product
- We'll help you validate your idea
- We'll help you find funding if/when you're ready
- We won't be charging for this in any way.


## Requirements:

- some work you've done to validate the idea and the market
you work on sales and marketing as hard as we do on your product for the entire 8 weeks.

- I'd like to get this started in Feb, but I'm more focused on getting the right people together.

## Why I'm doing this:

- I don't know where this will lead to. Perhaps raising a fund, perhaps not, but the best way to find out is to give it a try.

- I need NoCo.io to get beat up a little bit so that the product can evolve (or be killed)

Apply Here:

https://k8ty.typeform.com/to/QeJhfQ