teleren/devto huggingface dataset:
When it rains, it pours.
Published: 2019-02-13 15:46:54

# When it rains it _POURS_

TLDR: _ALWAYS, ALWAYS, PICK THE DATE FURTHEST AWAY FROM TODAY_

## The drought

Having started my second year in Computer science in college I realized that I _have_ to get some form of work experience in the city to keep ahead of the game (and going home for another summer seemed a little un-attractive...). Having worked every summer since I was 17 (20 now) as a QA intern, dev has been something I've been itching to drown in.

In a desperate attempt to pull this off I polished my linkedIn up to a shine an applied to everything that so much as mentioned the words _summer_ and _intern_. Following this....I waited....and waited....and got denied...and told, most fabulously, to come back in two years when I have an actual college degree on the horizon. This as you might imagine, is just a tad disheartening! But absolutely nothing that every other student doesn't have to compete with over their degree so.

## The rain

However, months after beginning this crusade. A response. Two in fact! Lets call them company **A** and company **B**, the preparations began in ernest. I studied cracking the code interview, I did hackerRank challenges until everything looked like a linkedList and HashMaps became my world. I did however...also happen to schedule the technical interview with company **A** for the next week, utterly a mistake mind you, but I was excited and prayed that if I looked eager it would work in my advantage. I was....so horribly wrong, as company **B** had yet to let me know when they wanted to give me a call....

## The flood

So as the days ticked by and I forgot about the second interview. I worked away until, to my horror, a wonderfully friendly email landed in my inbox. The second interview...was scheduled for exactly one hour following the first.

**You can imagine the panic setting in**

Thankfully it was not technical, but behavioral! A light in the darkness! Less prep more...selling oneself? I supposed? Still, panic was at an all time high and that panic I fear absolutely showed to company **A**, while with company **B**, I managed to be so burnt out of stress that the whole wonderful thing flowed neatly from one topic to the next. As a first ever technical interview it certainly could have gone better.

## Conclusion

As I write this I'm coming down from the high related to these interviews. Both thankfully were offsite, and were conducted over either skype or mobile which at least took the time fear out of it. I don't think I'll every be as scared about a wednesday afternoon as I was today, but you have to make do with what you have. For those of you staring down the barrel of a loaded interview, I sincerely hope you escape my bad luck.

_P.S I have to thank [@emmawedekind](https://dev.to/emmawedekind) for her tutorials and tips, because I wouldnt have survived today otherwise_

{% link https://dev.to/emmawedekind/5-mistakes-youre-making-in-your-technical-interviews--how-to-avoid-them-465e %}
Associate HTML as Jinja Files in VSCode
Tags: python, flask, vscode, jinja
Published: 2019-04-26 09:39:04

---
title: Associate HTML as Jinja Files in VSCode
published: true
tags: [python, flask, vscode, jinja]
canonical_url: https://warrenwong.org/associate-html-as-jinja-files-in-vscode/
---

Visual Studio Code can give you syntax highlighting for your Jinja templates even though Jinja files are usually named with a `*.html` extension in Flask projects.

I assume you already have the [Python Extension](https://marketplace.visualstudio.com/itemdetails?itemName=ms-python.python) for VSCode installed.

Open your `Preferences > Settings` from the dropdown menu or your `settings.json` file inside your current project's `.vscode` directory and add:

```json
{
  "files.associations": {
    "*.html": "jinja-html"
  }
}
```

I wouldn't put this in the user `settings.json` file since that will globally associate all `*.html` files with `jinja-html`.
Rituals before bed for better work life balance & sleep
Tags: discuss, balance, life
Published: 2019-04-25 20:41:59

---
title: Rituals before bed for better work life balance & sleep
published: true
tags: discuss, balance, life
---

Hey Community!

I've been having issues with keeping my mind free from thoughts about work while trying to goto and staying asleep. I've been meaning to practice mediation more on a daily basis as a supplement.

If you've had or have now a similar issue, what ways are you trying to get better rest?

Thanks!
Open Call For Guests
Tags: podcast, guests
Published: 2019-04-25 20:06:52

---
title: Open Call For Guests
published: true
description: An open call for guests on The .NET Core Podcast
tags: podcast, guests
cover_image: https://images.unsplash.com/photo-1450897889137-8a0b15a4c945?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1350&q=80
---

One of the things that I really love to do is to create podcasts

<p style="text-align: right;"><em>second only to listening to them</em></p>

I'm almost always on the lookout for people to interview for the shows that I create, and would like to invite anyone who has a passion for .NET development to be on my show.

> But I'm no expert, Jamie

Neither am I. And you don't have to be. I want to hear what everyone has to say, and that means you.

I want to talk to people from the community, people who are working with .NET technologies every day, people just like you. I mean, there's a reason why each episode starts with:

> Hello everyone and welcome to THE .NET Core podcast - the only podcast which is devoted to: .NET Core, ASP.NET Core, EF Core, SignalR, and not forgetting **The .NET Core community, itself**.

<p style="text-align: right;"><em>emphasis added to prove a point</em></p>

That means you. Yes, you. Well that is, if you're interested in .NET stuff.

If you're working with any of the .NET stuff that I talk about (Core, Mono, Xamarin, ASP NET Core, SignalR, EF, etc.) on the show and would like to be on it, then please do get in touch. One of my aims for the show is to be about the community and what we are all building together (both closed and open source), so why not get in contact and see about being on the show?

> You're just doing this because you've run out of episodes!

Absolutely not. I just want people to feel like they can be on the show should they wish to be, because we're all creating interesting stuff everyday and I want everyone to hear about it all.

Plus, how cool would it be to be able say that you were on a podcast which has 8,000* subscribers?

(* that's an estimate based on wobbly maths using individual IP addresses and download numbers. Subscriber count isn't one of those things that you can easily quantify)

> So how do I do this?

Easy. Leave a comment, or send me a [DM on twitter](https://twitter.com/dotnetcoreshow) (they're open, so you wont have to follow me first). From there, we'll figure out a time which would suit you and I'll send you my super exclusive podcast guest FAQ.
Git: estatísticas simples, bash-style
Tags: git, bash, stats, ptbr
Published: 2019-04-25 19:24:06

Interessado em algumas estatísticas para seu projeto? Quem fez quantos commits? Em que dia da semana foram feitos mais commits, e em que hora do dia? Bom, aqui temos algumas destas estatísticas. Todas elas em uma linha (ou duas, ou três) de bash script.

O ranking de commits, por autor, por número de commits.

```bash
git shortlog  -ns
```

Os commits de um projeto, por dia da semana.

```bash
for i in Mon Tue Wed Thu Fri Sat Sun; do
    echo $( echo " $i: "; git shortlog  -n --format='%ad %s'| grep "$i " | wc -l);
done
```

Os commits de um projeto, por dia da semana, a partir de uma determinada data. Interessante para ver a diferença quando o grupo de desenvolvedores muda, por exemplo. Se quiser contar os commits de antes de uma data, troque `--since` por `--until`.

```bash
for i in Mon Tue Wed Thu Fri Sat Sun; do
    echo $( echo " $i: "; git shortlog  -n --format='%ad %s' --since='2011-06-31'| grep "$i " | wc -l);
done
```

Os commits de um projeto, por hora do dia.

```bash
for i in `seq -w 0 23`; do
    echo $( echo " $i:"; git shortlog  -n --format='%ad %s' | grep " $i:" | wc -l);
done
```

Os commits de um projeto, por hora do dia, a partir de uma determinada data. Aqui também dá pra trocar `--since` por `--until`.

```bash
for i in `seq -w 0 23`; do
    echo $( echo " $i:"; git shortlog  -n --format='%ad %s' --until='2011-06-31' | grep " $i:" | wc -l);
done
```
Something Cool: Popup Callbacks
Tags: javascript, webdev, learning, tips
Published: 2019-04-25 18:42:22

---
title: Something Cool: Popup Callbacks
published: true
description: I had to get data from a popup window, this is how I did it!
tags: javascript,webdev,learning,tips
cover_image: https://thepracticaldev.s3.amazonaws.com/i/ejdgg8ltgc8gqdiozklg.jpg
canonical_url: https://michaelsolati.com/blog/something-cool-popup-callbacks/
---

# Problem
Imagine that you need to direct a user to a different web page/domain and would like to know when they've completed whatever it is that you needed them to do.

# Background
I'm currently working on a Wordpress plugin which requires OAuth so that I can allow them to do, well, stuff! (I don't think I can disclose that right now...) While I could account for one or two redirect URIs, it would be IMPOSSIBLE for me to handle that for EVERY DOMAIN THAT MY WORDPRESS PLUG IN IS RUNNING ON!!!!

# Solution
What I opted to do in the plugin is to open a page that I host when a user clicks on the OAuth button.

```javascript
const newWindow = window.open('https://somesite.com/oauth', 'oauth', 'height=720,width=480');
```

As soon as I create the new window I'm able to extend the current `window` object by adding a function:

```javascript
window.popUpCallback = (code) => {
    newWindow.close();
    console.log(code);
};
```

Now on my pop up that will handle the authorization, after it gets the authorization code it can call the function I added to the window:

```javascript
window.opener.popUpCallback(value);
```

What happened here is that my popup window will call the `popUpCallback` function that I added to the `window` that opened this current (new) `window`.

Looking back at my `popUpCallback` function you see that I close the `newWindow` (the popup) and then `console.log` the code I got back. However you can do anything you want now. What you've done is passed a value between windows!

For me this was perfect because now I only need to have one redirect URI no matter where this plugin is run, but maybe this will be useful for you for some other reason.

Enjoy!

---

To keep up with everything I’m doing, follow me on [Twitter](https://twitter.com/MichaelSolati). If you’re thinking, _“Show me the code!”_ you can find me on [GitHub](https://github.com/MichaelSolati).
Node JS 12 is out there
Tags: node, update, developer, javascript
Published: 2019-04-25 18:14:01

---
title: Node JS 12 is out there
published: true
description: Where do you get your info about Node.js?
tags: nodejs, update, developer, javascript
---

Where do you get your info when you need to know something new about Node.js?
Is good to be informed and to know when new things come out.
Like a new update, hotfixes, security issues, vulnerabilities, a leaked npm package or a brand new feature?

I'll tell you where I'm getting some information:
1. [Medium Node foundation](https://medium.com/@nodejs)
2. [Node js twitter account](https://twitter.com/nodejs)
3. [Beth Griggs](https://twitter.com/BethGriggs_) - one of the code Node maintainers
4. [Michael Dawson](https://twitter.com/mhdawson1) - NodeJS community lead

The thing is you will not only know what came out, but you will know why to upgrade. 
And at one of the updates, we got event 100% speed increase on backend services responses by simply updating libraries and Node.JS.

So let's see what got out with the last release:
1. **V8 Gets an Upgrade**: V8 update to V8 7.4
Async stack traces, faster calls with arguments mismatch, **faster await and faster script parsing**.
2. **TLS 1.3 support by default** - can be disabled if required. It's a major security step.
3. **Switch default http parser to llhttp** - Not experimental anymore. Check if you were using http parser in your code before upgrading.
4. **Making Native Modules Easier** - improving support for this
5. **Worker Threads** - although an old feature it can be used without flags on runtime
6. **Heap Dumps and Diagnostics Report** - not required to use 3rd party libs anymore and you can diagnose your app without changing production code.
7. **Speed at startup** - Node 12 generates the code cache for built-in libraries in advance at build time. This gives a ~30% speedup in startup time for the main thread.
8. **New compiler and platform minimums** - the codebase now requires a minimum of GCC 6 and glibc 2.17 on platforms other than macOS and Windows. 

Windows minimums remain the same as Node.js 11, requiring at least Windows 7, 2008 R2 or 2012 R2 and a minimum compiler of Visual Studio 2017. macOS users needing to compile Node.js will require a minimum of Xcode 8 and Node.js binaries made available on nodejs.org will only support a minimum of macOS 10.10 “Yosemite”.

Further details are available in the Node.js [BUILDING.md](https://github.com/nodejs/node/blob/v12.x/BUILDING.md#platform-list).


Got inspiration from this [article](https://medium.com/@nodejs/introducing-node-js-12-76c41a1b3f3f)

Article was first published on Appseed.us blog:
https://blog.appseed.us/node-js-12-is-out-there/
How to use portainer in Windows 10 version 1809
Tags: docker, dockerdesktop, windows10
Published: 2019-04-25 18:11:55

---
title: How to use portainer in Windows 10 version 1809
published: true
description: 
tags: Docker, Docker Desktop, Windows 10
---

![image](https://thepracticaldev.s3.amazonaws.com/i/1u6gtutwy0z9afgghchp.jpg) Photo by [chuttersnap](https://unsplash.com/photos/kyCNGGKCvyw?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText) on [Unsplash](https://unsplash.com/search/photos/container?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText)

To running a [portainer](https://www.portainer.io/) container in Windows Container is pretty straight forward that using the following commands.

```sh
docker volume create portainer_data
docker run -d -p 9000:9000 --name portainer --restart always -v \\.\pipe\docker_engine:\\.\pipe\docker_engine -v portainer_data:C:\data portainer/portainer
```

But the most undocumented notes are:

> You must restart Docker service (`com.docker.service`) to make **portainter** works if you JUST installed Docker Desktop for Windows on Windows 10 version 1809!

```ps1
Restart-Service com.docker.service
```

> Restart computer also do the trick.

After the restarts, **portainer** will works as expected.
Who is hiring? (As of April 2019)
Tags: whoishiring
Published: 2019-04-25 18:06:31

---
title: Who is hiring? (As of April 2019)
published: true
description: Members of the dev.to community sharing open job opportunities at their companies.
tags: whoishiring
---

This is our monthly thread where community members share openings at their companies.

Here a few ground rules:

- Please only post if you are personally part of the hiring company (no recruiting firms)
- Please provide brief background on what your company does
- Only one post per company (you can list multiple openings in the post)

Consider using this template:

```
Company Name | Job Title | Location | Remote or Onsite | (optional) Salary Range | Sponsor visa?

About the company — background, size, etc (1-3 sentences)

About the role(s) — languages, requirements, etc (1-3 sentences)

Do you sponsor visas?

How to Apply — email or application link
```

---

We also wanted to share some quick careers-related notes from our fantastic Sustaining Sponsors.

### Digital Ocean

> At **DigitalOcean**, we're simplifying cloud infrastructure for developers. Here you'll get to work with some of the smartest and most interesting people around; solving unique and complex technical challenges on a scale matched by few companies. If you get excited about stretching yourself in new ways, developing yourself to your fullest potential, with amazingly supportive friends and colleagues; [we want to talk to you](https://www.digitalocean.com/company/careers/?utm_source=devto&utm_medium=display&utm_campaign=Devto_2018_Brand)!


### GoCD

> **GoCD** is a free and open source CI/CD tool by ThoughtWorks. You can model your complex workflows, deploy to popular cloud environments such as Kubernetes, and visualize your end-to-end workflows — [download and use for free](https://www.gocd.org/download/).  While we don't have any open positions, there are many ways to [contribute to the community](https://www.gocd.org/contribute/).

### Scout

> **[Scout APM](https://scoutapm.com/?utm_source=affiliate&utm_medium=promoted-content&utm_campaign=dev-to-whos-hiring-april-2019)** helps your apps perform better. Our customers love how we help them to quickly track down N+1 database query problems, sources of memory bloat, and other bottlenecks. [Try Scout for free for 14 days](https://scoutapm.com/users/sign_up?utm_source=affiliate&utm_medium=promoted-content&utm_campaign=dev-to-whos-hiring-april-2019) and spend less time debugging, more time coding. Scout, and our sister companies across Xenon.io, are hiring - [see all the openings and apply today](https://hire.withgoogle.com/public/jobs/xenonio)!
Non-Traditional Backgrounds at Auth0
Tags: techculture
Published: 2019-04-25 16:18:10

---
title: Non-Traditional Backgrounds at Auth0
published: true
description: Formal education is no longer the norm when it comes to tech. The Auth0 family comes from all walks of life!
tags: #techculture #
canonical_url: https://auth0.com/blog/non-traditional-backgrounds-at-auth0/
---
There’s a growing trend of being vocal about non-traditional backgrounds in tech. Let's hear from some of the amazing Auziros about their backgrounds and how they got into tech.

[Continue Reading 👨🏻‍💻](https://auth0.com/blog/non-traditional-backgrounds-at-auth0/?utm_source=dev&utm_medium=sc&utm_campaign=nontrad_backgrounds)
Startups for Realists #1 – with Tom Evans, COO of EmailOctopus
Tags: marketing, startup, interview, amazonses
Published: 2019-04-25 16:15:41

---
title: Startups for Realists #1 – with Tom Evans, COO of EmailOctopus
published: true
description: This week we spoke to Tom Evans, the COO of EmailOctopus, a bootstrapped email marketing platform, with a focus on simplicity and low-cost (around 1/3rd of the price of MailChimp) all whilst offering excellent customer support.
tags: marketing, startup, interview, amazonses
---

![EmailOctopus Marketing](https://www.crowdform.co.uk/wp-content/uploads/2019/04/Screenshot-2019-04-24-at-17.30.11-1.png)

In Startups for Realists, we talk to people in the world of startups about the realities of their day-to-day work – the good, the bad and everything in-between.

This week we spoke to Tom Evans, the COO of [EmailOctopus, a bootstrapped email marketing platform](https://emailoctopus.com/?ref=crowdform), with a focus on simplicity and low-cost (around 1/3rd of the price of MailChimp) all whilst offering excellent customer support. Over the last 5 years, they’ve helped more than 30,000 organisations send over 6 billion emails.

##What’s your typical day look like?

I enjoy my sleep, so try to wake up around 8.30. After catching up on the news and getting ready for the day I switch onto EmailOctopus work. The first half-hour of the day is spent quickly checking up on our reports, numbers, and emails from customers which have come in overnight. Most of the morning reports have now been automated so I can see our acquisition figures on a day/day or month/month comparative basis at a very quick glance.

##What’s your office set-up?

I work from a mix of home and an office space...

You can read the [full interview with Tom Evans, over on our product studio’s blog](https://www.crowdform.co.uk/blog/interview-tom-evans-emailoctopus-email-marketing).
Kubernetes Tutorial - Step by Step Introduction to Basic Concepts
Tags: kubernetes, ambassador, programming
Published: 2019-04-25 16:07:08

---
title: Kubernetes Tutorial - Step by Step Introduction to Basic Concepts
published: true
description: Learn how to leverage Ambassador to secure apps running in your Kubernetes clusters with TLS certificates for free.
tags: #kubernetes #ambassador #programming 
canonical_url: https://auth0.com/blog/kubernetes-tutorial-managing-tls-certificates-with-ambassador/
---

TL;DR: In this article, you will learn how to leverage the Ambassador API Gateway to secure the apps running in your Kubernetes clusters with TLS certificates. The approach that the article describes will enable you to use Let's Encrypt to issue certificates for free. With that, you will be able to enhance the security of your clusters (and its apps) for free, even if you are hosting multiple domains on them. You can use this GitHub repository as a reference if you need to double check the Kubernetes resources presented here.

[Continue Reading 🛠](https://auth0.com/blog/kubernetes-tutorial-managing-tls-certificates-with-ambassador/?utm_source=dev&utm_medium=sc&utm_campaign=kubernetes_ambassador)
CSS Grid Layout - A "Quick" Overview
Tags: showdev, css, beginners, tutorial
Published: 2019-04-25 16:06:54

{% youtube wWGjogHcLxY %}

### A quick warning and request
_One of my friend told me that he learned a lot from the video even though it was a bit long - 25mn is kinda long. If you speed it up to 1.5x it is still watchable but at 2x I start to sound like a total chipmunk and you might find it entertaining.
I hope you enjoy it and learn something from it if CSS Grid is new to you. I really miss working on the User Interface side, let me know in the comments if you would like to see more posts around UI_

In this tutorial we’ll take quick look at the power offered by the CSS grid system. It’s almost time to get rid of all the framework code you’ve grown so used to once you see the potential of the CSS grid. 

The starter coded is added inline or you can copy it from here:
[Grid starter code](https://gist.github.com/adyngom/dadfa4150296546c32897153addd2385)

And the template used can be downloaded here:
[Elton UI Kit](https://pixelbuddha.net/freebie/elton-ui-kit)
<code>
```html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Elton ui Kit</title>
    <style>
        @import 'https://fonts.googleapis.com/css?family=Comfortaa:300,700|Bungee+Shade|Josefin+Sans:400';
        
        html {
            background-color: #eee;
        }
        html, body {
            margin: 0;
            padding: 0;
        }
        body {
            counter-reset: section;
        }
        .wrapper {
            width: 1170px;
            margin: 30px auto;
            box-sizing: border-box;
        }
        .box {
            border-radius: 3px;
            background-color: #ffffff;
            box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.06);
        }
        .hero-fashion > .box {
            width: 1170px;
            height: 505px;
            margin-bottom: 30px;
        }
        .row {
            display: grid;
            grid-template-columns: 1fr 1fr 1fr 1fr;
            grid-auto-rows: 238px;
            grid-gap: 30px;
        }
        .tall-span {
            grid-row: span 2;
        }
        .wide-span {
            grid-column: span 2
        }
       
    </style>
</head>
<body>
    <div class="wrapper">
        
        <!-- hero section -->
        <div class="hero-fashion">
            <div class="box"></div>
        </div>
        
        <!-- grid section -->
        <div class="row">
            <div class="box tall-span"></div>
            <div class="box wide-span"></div>
            <div class="box"></div>
            <div class="box"></div>
            <div class="box wide-span"></div>
            <div class="box"></div>
            <div class="box"></div>
            <div class="box"></div>
            <div class="box"></div>
            <div class="box"></div>
            <div class="box"></div>
            <div class="box"></div>
            <div class="box"></div>
        </div>
    </div>
</body>
</html>
```
</code>