teleren/devto huggingface dataset:
Boost Note v0.3.0 Release
Tags: showdev, boostnote, evernote, devopstools
Published: 2020-03-25 01:56:20

---
title: Boost Note v0.3.0 Release
published: true
description: 
tags: showdev, boostnote, evernote, devopstools
---

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/k5xy346u6kdvra4v53jz.png)

# Changes
- Improve cloud storage management
- Show syncing status and stop on demand
- Auto sync
- Manage cloud storage like a remote git repository.
- Implement storage type converting(local <-> cloud)

# AutoSync
Now the app can sync automatically after 30 secs from last editing and keep syncing every an hour. Also you can opt out if you don’t need it. Further configuration options will be available from next update.

# Manage cloud storage like a remote git repository
The previous build was automatically fetching all storage after signing in and removing data in local after signing out. The problem is that, if user signed out from the app without syncing, unsynced data will be lost.

From this build, the app will handle local storage and cloud storage completely separately. So if you delete cloud storage, the app still keep storage data in local storage.

This is quite useful when a user discards their cloud storage accidentally or our cloud storage lost all of data(I don’t think it could happen though.). Even if the bad thing happens, you can revive your cloud storage from the local data in your app(or browser).

Also you can convert local storage into cloud storage easily. So this will change UX of creating and removing storage.

# Creating storage
- Create storage with fresh cloud storage
- Create storage from existing cloud storage

# Removing storage
- Remove just a link between cloud storage and local storage(You can restablish the link whenever you want)
- Remove cloud storage(This will the storage turn into local storage.)

Any feedback? Please hear your voice on [GitHub issue](https://github.com/BoostIO/BoostNote.next/issues)!
- Desktop app(Mac, Windows and Linux) https://boostnote.io/
- iOS : https://apps.apple.com/us/app/boostnote-mobile/id1498182749
- Android : https://play.google.com/store/apps/details?id=com.boostio.boostnote

---

# Boost Note for Teams

We’ve revealed a new collaboration wiki service called [BoostHub](https://boosthub.io/).

It will be a collaboration version of Boost Note but much more powerful. The feature, called “Custom Blocks”, will let you make custom react components, integrated with various 3rd party app apis like Github and Trello, and embed them into markdown contents like MDX.

To know more, please check this slide.

[![how-to-use-boosthub](https://user-images.githubusercontent.com/8602615/87409889-90365180-c600-11ea-91d0-b5a0e943fab2.png)](https://docs.google.com/presentation/d/e/2PACX-1vTXPf0PLDQs8e6sLpyyQ43r59RIc-X_ez7YzgW4nKH-klWfhcAaJQkhOwS8W0WbgpiqspV3Gvbx_78S/pub?start=false&loop=false&delayms=3000)
Sr. Software Engineer, Cloud and Data Opening at Motiv Power Systems
Published: 2020-03-25 01:55:16

Here at Motiv Power Systems we are freeing commercial fleets from fossil fuels!! 

We’re looking for a Seasoned AWS, IoT, Python guru that loves the electric vehicle space!! Apply here directly to our careers page: 

https://boards.greenhouse.io/motivpowersystems/jobs/4686954002

If you want to learn more about the company culture and this role, contact me directly by messaging me through Dev.to
D’Ana Hamilton
GitHub Actions for .NET Framework
Tags: github, actions, dotnet, ci
Published: 2020-03-25 01:43:44

GitHub Actions has been released in General Availability in November 2019, and since then the service has seen an incredible growth, making it the second most popular CI tool on GitHub, for both private and public repos.

It has many Starter Template for a lot of different languages, such as .Net Core, Python, Java, Docker, and many more. But unfortunately there is no out of the box Starter Template for the Full .Net Framework.

Nevertheless, today we are going to create a CI workflow for a .NET Framework application, using GitHub Actions.

But before deep diving into the code, let me take a step back and talk a little bit about Actions, because it is much more than a CI system. 

### About GitHub Actions

In fact, it is a very powerful automation engine where actions, defined in YAML files, allow you to trigger workflow processed on any GitHub event, such as code commits, creation of Pull Requests or new GitHub Releases, and more.

To create the workflow you use the Actions, which basically are individual tasks, that you can combine to create jobs and customize your workflow. You can create your own actions, and use and customize actions shared by the GitHub community.

And actually for creating a CI workflow for a .NET Framework project, we have to use both "official" GitHub Actions and community ones.

If you want to know more about GitHub Actions you can take a look [here](https://help.github.com/en/actions)

### Let's do this

Here you have the video with the whole explanation, and of course the end to end creation of the CI with Actions for a .NET Framework Asp.net MVC application.

{% youtube g8tdrB3kbDU %}

### Closing

If you have used before other CI systems, like for example Azure Pipelines, you need to "clear your mind" and start afresh, because the syntax and the logic here, even tho they seem alike, are quite different.

Let me know in the comments what you think about GitHub Actions, and if you have encountered any problem or issue in creating CI workflows, especially for the Full .Net Framework.

__Like, share and follow me__ 🚀 for more content:

📽 [YouTube](https://www.youtube.com/CoderDave)
☕ [Buy me a coffee](https://buymeacoffee.com/CoderDave)
💖 [Patreon](https://patreon.com/CoderDave)
🌐 [CoderDave.io Website](https://coderdave.io)
👕 [Merch](https://geni.us/cdmerch)
👦🏻 [Facebook page](https://www.facebook.com/CoderDaveYT)
🐱‍💻 [GitHub](https://github.com/n3wt0n)
👲🏻 [Twitter](https://www.twitter.com/davide.benvegnu)
👴🏻 [LinkedIn](https://www.linkedin.com/in/davidebenvegnu/)
🔉 [Podcast](https://geni.us/cdpodcast)

<a href="https://www.buymeacoffee.com/CoderDave" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" style="height: 30px !important; width: 108px !important;" ></a>
How to get preact-router working with Netlify
Tags: preact, netlify
Published: 2020-03-25 01:44:08

---
title: How to get preact-router working with Netlify
published: true
date: 2020-03-25 01:43:00 UTC
tags: preact, netlify
canonical_url: https://www.emgoto.com/preact-router-netlify/
cover_image: https://www.emgoto.com/preact-router-netlify-dev.png
---

If you're deploying your Preact app with preact-router to Netlify, you may find that trying to access anything other than the root of your website (e.g. `foo.netlify.com/bar`) will give you a "Page not found" error.

The recommended approach is to create a `build/_redirects` file and add this line:

```
/*/index.html 200
```

However if this doesn't work for you (it didn't for me), then create a `redirects.txt` file in your root folder, and add the following to your build command in Netlify:

```
npm run build && cp redirects.txt build/_redirects
```

## References

[Redirect Rules for All; How to configure redirects for your static site](https://www.netlify.com/blog/2019/01/16/redirect-rules-for-all-how-to-configure-redirects-for-your-static-site/)
[Redirects not working](https://community.netlify.com/t/redirects-not-working/1833)
Building a Quick Starter App with Express.js
Tags: beginners, tutorial, node, webdev
Published: 2020-03-25 01:10:44

---
title: Building a Quick Starter App with Express.js
published: true
description: Over the years I've used Express.js many times as a quick getting started example app. Since I often reference it I wanted to provide a short post that shows exactly what I do 99.9% of the time to start one of these quick Express.js reference apps. I've detailed in this post how to get started with Express.js the fastest way I know.
tags: beginner, tutorial, node, webdev
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/ce516l9ypinmsisorpqa.png
---
Over the years I've used Express.js many times as a quick getting started example app. Since I often reference it I wanted to provide a short post that shows exactly what I do 99.9% of the time to start one of these quick Express.js reference apps. I've detailed in this post how to get started with Express.js the fastest way I know. There is one prerequisite, I'm assuming in this post you've already got Node.js installed. With that in mind, check out my [installation suggestions for Node.js](https://youtu.be/pLJanpjIrM0) if you need to get that installed still. The other thing, is you'll need to have git installed. On MacOS and Linux git is most likely installed already, if you're on Windows I'll leave that googling exercise up to you.

Create a directory and navigate into the directory.

```bash
mkdir quick-start-express
cd quick-start-express
```

Now in that directory execute the following command. Note, this command is available as of node.js 8.2.0.

```bash
npx express-generator
npm install
```

Inside that directory that you've navigated to, you'll now have an Express.js skeleton app setup to run with the dependencies now downloaded with `npm install`. On MacOS or Linux run the following command to start the web app.

```bash
DEBUG=quick-start-express:* npm start
```

If you're on Windows run the following command.

```bash
set DEBUG=quick-start-express:* & npm start
```

That's it, one of the quickest ways to get a Node.js site up and running to start developing against!

Cheers, and happy thrashing code!
Youtube Data API with Oauth2
Tags: youtube, api, oauth2
Published: 2020-03-25 01:03:07

---
title: Youtube Data API with Oauth2
published: true
description: 
tags: youtube, api, oauth2
---

Hi, all. I have a basic question that I can't find the answer anywhere. I've played with the youtube data api with node.js https://developers.google.com/youtube/v3/quickstart/nodejs and I can retrieve data just fine both with the api key and oauth2. I cannot figure out how to do the same in a React app, should I follow javascript quickstart or node.js. Or should I look for oauth2 tutorial.

Most youtube videos dealing with the api only use the api key without oauth, which doesn't help my cause. Sorry if this sounds like a silly web dev question, any docs or tutorials to point me in the right direction would be appreciated.

As you can tell I am not a web dev, be kind if the question is so basic. If you know of a good youtube data api tutorial with oauth2 and react or something similar that I can benefit from I am all ears. Thanks in advanced.
Validation of nested form inputs (within components) in Angular
Tags: angular, typescript, webdev
Published: 2020-03-25 01:01:58

Mostly writing this for myself, so I don't forget. Google articles for this topic usually show huge walls of text for more complicated cases, but that's not what you'd normally need.

**Problem:** when you have input fields within a component template the parent form will ignore these fields for validation purposes. So, a structure like this:

```typescript
-- main.component.ts
<form #angularForm="ngForm">
  <app-nested-inputs></app-nested-inputs>
  <input type="submit" [disabled]="angularForm.form.invalid" />
</form>

-- nested-inputs.component.ts
<input name="xxx" [required]="true" />
```

The submit button will still be active, even when the form is invalid, unless you add the following to `nested-inputs.component.ts` Component directive

```typescript
viewProviders: [ { provide: ControlContainer, useExisting: NgForm } ]
```

So the Component directive will looks like this:
```typescript
@Component({
  selector: 'nested-inputs',
  templateUrl: './nested-inputs.component.html',
  styleUrls: ['./nested-inputs.component.scss'],
  viewProviders: [ { provide: ControlContainer, useExisting: NgForm } ]
})
```

Just a little tip to save you a few hours of headache :)
Top 5 DEV Comments from the Past Week
Tags: bestofdev
Published: 2020-03-25 00:57:08

---
title: Top 5 DEV Comments from the Past Week
published: true
description: Highlighting some of the best DEV comments from the past week.
tags: bestofdev
cover_image: https://res.cloudinary.com/practicaldev/image/fetch/s--7VrAA2ln--/c_imagga_scale,f_auto,fl_progressive,h_420,q_auto,w_1000/https://thepracticaldev.s3.amazonaws.com/i/qmb5wkoeywj06pd7p8ku.png
---

This is a weekly roundup of awesome DEV comments that you may have missed.  You are welcome and encouraged to boost posts and comments yourself using the **[#bestofdev](/t/bestofdev)** tag.

@slavcoder added a hilarious comic in response to **[How do you come up with new side projects?](https://dev.to/heroku/how-do-you-come-up-with-new-side-projects-2lhc)**:
{% devcomment mmb2 %}

@markerikson shared an informative and thorough reply, addressing the question: **[Should I use Redux?](https://dev.to/muhammadwasif/should-i-use-redux-2mio)**:
{% devcomment mopa %}

@jdmedlock posted their awesome plant-based 🌴 battle station **[🦠🚪 Show your COVID19 work from home desk? 👩🏻‍💻🪑](https://dev.to/sarthology/what-s-your-covid19-work-from-home-desk-is-like-1e6h)**:
{% devcomment mp3k %}

@radiomorillo offered some great insight in **[What non-coding skills do you want to learn next?](https://dev.to/radiomorillo/what-non-coding-skills-do-you-want-to-learn-next-4d0b)**:
{% devcomment mla3 %}

@patricktingen shared their coding origin story in the **[At what age and in what language did you write your first line of code?](https://dev.to/codeguppy/at-what-age-and-in-what-language-did-you-write-your-first-line-of-code-11i2)** thread:
{% devcomment mo9k %}

See you next week for more great comments ✌
Git: How to configure repo-specific user settings
Tags: git, beginners, learning
Published: 2020-03-25 00:52:34

---
title: Git: How to configure repo-specific user settings
published: true
description: How to configure different user settings in different Git repositories on the same computer.
tags: git, beginners, learning
---

Many Git tutorials instruct us to do something like the following when first setting up Git:
```zsh
$ git config --global user.name "Susanna Bauer"
$ git config --global user.email susanna@example.com
```

This configures `user.name` and `user.email` settings globally, for every repo on our machine. 

But, say we use the same computer to work in multiple Git repositories across two or more accounts. Perhaps we have separate professional and hobby [GitLab](https://about.gitlab.com/) accounts, for instance. How do we override the global settings, and configure `user.name` and `user.eamil` on a per-repo basis?

We can `cd` into our repo, and re-run the same commands without the `--global` flags:
```zsh
$ git config user.name "sueB"
$ git config user.email sb@example.com
```

The global settings remain unchanged, but _this_ repository will use the new, local settings. You can see the local configuration at `<repo>/.git/config`.

---

Learn more about the artwork of [Susanna Bauer](http://www.susannabauer.com/).

---

Was this helpful? Did I save you some time?

## {% cta https://www.adamlombard.com/support-me %} 🫖 Buy Me A Tea! ☕️ {% endcta %}

---
Get More Secure Websites From Your Traefik Configuration using Mozilla's Observatory
Tags: mozillaobservatory, httpsecureheaders, traefik, bestpractices
Published: 2020-04-19 21:14:35

---
title: Get More Secure Websites From Your Traefik Configuration using Mozilla's Observatory
published: true
date: 2020-03-24 23:55:10 UTC
tags: mozilla observatory,http secure headers,traefik,best practices
canonical_url: https://www.simplecto.com/get-more-secure-websites-from-your-traefik-configuration/
---

Thanks to [/u/TrollW00t](https://reddit.com/u/TrollWoot) on Reddit for bringing [Mozilla Observatory](https://observatory.mozilla.org/) to my attention. In a previous article I talked about [improved  security ratings from Qualys SSL Labs](https://dev.to/simplecto/improve-traefik-s-https-encryption-with-qualys-ssl-labs-and-testssl-sh-hda), but I did not go far enough!

My rating for simplecto.com from Mozilla Observatory was an F!

The creators of Firefox certainly know a lot about browser security, so their Observatory app is a welcome tool. Here we will go step-by step and outline the changes to my config that took it from F to a B.

A ratings are possible but only with Content-Security-Policy, but that can wait for another post.

### Mozilla Observatory's 11 tests

![](https://www.simplecto.com/content/images/2020/03/image.png)

Below are the secure headers settings I use now in my deployments:

<!--kg-card-begin: markdown-->
```
# Adding in secure headers
- traefik.http.middlewares.securedheaders.headers.forcestsheader=true
- traefik.http.middlewares.securedheaders.headers.sslRedirect=true
- traefik.http.middlewares.securedheaders.headers.STSPreload=true
- traefik.http.middlewares.securedheaders.headers.ContentTypeNosniff=true
- traefik.http.middlewares.securedheaders.headers.BrowserXssFilter=true
- traefik.http.middlewares.securedheaders.headers.STSIncludeSubdomains=true
- traefik.http.middlewares.securedheaders.headers.stsSeconds=63072000
- traefik.http.middlewares.securedheaders.headers.frameDeny=true
- traefik.http.middlewares.securedheaders.headers.browserXssFilter=true
- traefik.http.middlewares.securedheaders.headers.contentTypeNosniff=true

```
<!--kg-card-end: markdown-->

The settings above instruct the browser to make it harder for XSS attacks, SSL downgrade attacks, and prevent the iFrame-ing of content into other pages.

###
From idea to launch with react
Tags: showdev, react
Published: 2020-03-24 23:05:41

I'm publishing a series on taking an idea to launch with react, nextjs and now! Take a look at the first video and let me know what you think! I'd love to be able to improve for the next video I shoot 🙌

I also recent added a few changes to https://teaming.now.sh that is love for you to check out and give feedback 😃

{% youtube 03VW35Le1lE %}

Thanks for reading, stay safe out there! ♥️
A Little Bit About Myself
Tags: career, introductions, beginners
Published: 2020-03-25 04:42:38

---
title: A Little Bit About Myself
date: 2020-03-24 22:40:32 UTC
tags: #career, #introductions, #beginners
published: true
description: Hieu Nguyen - devsurvival is a collection of blogs about coding , web development , machine learning , computer science , and random stuff. There are discussions about trending technologies like nodejs , mongoose , mongodb , express js, and reactjs
canonical_url: https://www.devsurvival.com/about-me/
---

If you already visited this blog, then chances are you already know my name, but let me formally introduce myself. My name is Hieu Nguyen. Who am I? I am a vietnamese immigrant who moved to the US at the age of 8. I came here knowing very little about the outside world. In Vietnam, I grew up in the country side. In case you are wondering, we have chickens and cows.

At a young age, I was not really interested in academic or making something of myself. Life was simple. All I wanted to do was ride my bike and hang out with the local kids. We would go catch lizards or sneak into the neighbor’s pond and fish. That all changed when I came to America.

My reaction? I was mortified. There I was enjoying my simple yet fulfilling life, then suddenly I was told to abandon everything and accept my new future in America. However, day by day, I started to warm up to the new environment I was in. I learned english as well as the American lifestyle. I ate at McDonalds for the first time, and then a second time. I played new games. I hung out with new friends and family.

However, all material things lose their shine after a while, and so I search again for a reason why moving to America was a good thing. This search began when I got my first computer. I became obsessed with using it and knowing how it works. Then one day, I decided that I wanted to do something related to computer when I grow up. This pursuit led me to start studying computer science.

Currently, I am a computer science student at the University of Louisville. When I don’t take classes, I work as a intern at the Rawlings Company.
Asynchronous Javascript: Callbacks and Promises
Tags: javascript
Published: 2020-03-24 22:38:30

As the Javascript module of Flatiron's Software Engineering immersive wraps up, one thing has become quite clear: I really need to understand callbacks and asynchronous functions to understand how to effectively use Javascript. Below, I've laid out my understanding of callbacks and how promises make asynchronous Javascript easier to user and understand. 

First, we have to understand that Javascript is a synchronous, blocked language where functions only execute after the previous function has finished. But there are also functions available that are asynchronous, `fetch` and event handlers for example. Other code will continue to execute while the asynchronous function is waiting to complete, perhaps waiting for response from a server. 

Callbacks can be used in both synchronous and asynchronous Javascript, but often are used in asynchronous ways. Callbacks are functions passed to another function that are called after that function completes. An example of a synchronous callback could be this simple:
```javascript
function funcA(num) {
    return num * 2
}

function funcB(cb) {
    return cb(5)
}

funcB(funcA)
//10
```
It's just passing a function to another function, in this case, `funcA` to `funcB`. But that's not very interesting.

Callbacks used in asynchronous code result in something called "callback hell" which I recommend googling. Basically, something like this:
```javascript
asyncAction1((res1, err) => {
  if (err) { handle() }
  asyncAction2((res2, err) => {
      if (err) { handle() }
    asyncAction3((res3, err) => {
      if (err) { handle() }
      // do something
    });
  });
});
```
It's messy to look at unpleasant to deal with. Promises help to fix this mess by returning a `Promise` object that is a proxy for an actual value. It's the promise to return that value, and is either pending, fulfilled, or rejected. `.then` can be called on promise and whatever work is done in the `.then` block will only be run after the promise has been resolved. Similarly, `.catch` will handle errors if the promise is rejected. 

So to rewrite the code above with promises:
```javascript
asyncAction1
.then((res1) => asyncAction2(res1))
.then((res2) => asyncAction3(res2))
.then((res3) => functionThatDoesSomething(res3))
.catch(err)
```
I hear async/await is even cleaner and nicer to use for a variety of reasons, but that part is for another post! Thanks for reading!