teleren/devto huggingface dataset:
[Gmail] Mail Thread sharable Link
Tags: javascript, react, python, machinelearning
Published: 2020-06-12 17:00:38

You got some Project, Task, or Some Bug Fix in the new mail.You started working on that.
Day 1: Not completed...
Day 2: Not completed
.
.
.
.
.
.
.
.
Day 10: Finally task completed!

There might be a chance of taking 5 to 10 days based on the task.Now we need to give the mail reply 

Meanwhile, we might get around 50 other mails... for searching this mail for the completed task might take time.

#Any solution for this?

Most of the companies use sites like JIRA, ClickUp, ProofHub, Trello, or some other site to save the task you doing & it's related files.

It's better to share the Mail Link also here right?Yes, but the mail link whatever I shared will work only to my account.not for the complete team even they are there in CC/BCC mail address.

Incase if you are GMail user for mail platform there is a solution for this.We can generate the mail Link which going to work for *all members in To/From/CC/BCC address*.

Here we going to generate the Link using Gmail Message IDonce you copy the message Id paste it here to generate the Search Mail Link.

You can use this site for free & it's not going to store any of your dataEven store there is no use with messageId

👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇
##Site to use: [https://GmailLink.github.io/](https://GmailLink.github.io/)

*Take the DevEconomics survey You can win awesome prizes like an iPhone 11, Seagate - External HD 5TB, Microsoft Surface Pro 7, OnePlus 7T, DE SWAG, Amazon gift vouchers, & more!*

👉 [https://bit.ly/developereconomics](https://bit.ly/developereconomics)


 ![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/cbkfm1hmtbogdgtltv4k.png)
What was your win this week?
Tags: discuss, weeklyretro
Published: 2020-06-12 16:31:52

---
title: What was your win this week?
published: true
description: Got to all your meetings on time? Started a new project? Fixed a tricky bug?
tags: discuss, weeklyretro
cover_image: https://cl.ly/188e843c2985/download/Image%202019-02-15%20at%202.36.37%20PM.png
---

👋👋👋👋

Looking back on your week -- what was something you're proud of?

All wins count -- big or small 🎉

Examples of 'wins' include:

- Getting a promotion!
- Starting a new project
- Fixing a tricky bug
- Cleaning your house...or whatever else that may spark joy 😄

Happy Friday!

![congrats!](https://media.giphy.com/media/z7767kGHHQ2s/giphy.gif)
How to create a Weather App in Reason and React
Tags: reason, react, tutorial, functional
Published: 2020-06-12 16:30:31

Topics covered in this video includes:
- Reason interop with raw Javascript
- Using native Javascript geolocation api
- Decoding JSON
- Using Reason libraries such as bs-fetch and bs-json
- Fetching data from rest api
- React useState
- Handling React forms in Reason

## Webpack Setup
{% youtube 0CMmML7Q6Ds %}
I felt that the webpack configuration deserved it's own dedicated video.

## Tutorial
{% youtube H6X6AJZna98 %}


### Resource Links
- [Source Code](https://github.com/kelvin-mai/reason-weather)
- [Weather API](https://openweathermap.org/api)
- [Weather Icons](https://github.com/manifestinteractive/weather-underground-icons)
Refactoring your blog urls
Tags: learning, blog, netlify
Published: 2020-06-12 16:19:43

---
title: Refactoring your blog urls
published: true
tags: learning, blog, netlify
canonical_url: https://waylonwalker.com/blog/gracefully-redirect/
cover_image: https://waylonwalker.com/gracefully-redirect.png
---

I just did a quick refactoring of my JAMStack blog urls. Some didn't fit with my style, some had `_` that I wanted to switch to `-`, and others were rediculously long. I've been using forestry as my CMS, I write many of my posts there, and sometimes it picks some crazy file names (based on my titles). It was time to refactor.

## 🖊 Rename posts

_change the filename_

My post urls are based on the file name of my markdown file, so I can simply go through my filesystem and rename anything I want. From here its probably best to only commit the addition of the new file name, until the redirects clear, but these are all low traffic posts for me so I just commited both at once.

> Safely redirect without breaking links

## \_redirects ⤴

_/redirects_

I am hosted on netlify, which automatically puts very ⚡ performant redirects on the edge based on a `/_redirects` route on your site. So I added a redirect from the old route to the new route there.

```
# rename long posts

/blog/i-finally-fixed-my-styled-components-in-gatsby-js /blog/fix-styled-components-in-gatsby
/blog/interrogate-is-a-pretty-awesome-brand-new-cli-for-python-packages /blog/interrogate
```

## pedantic 🤔

_probably_

This is probably being a bit pedantic. Realistically my urls were probably ok. These posts probably aren't going to be topping the google search charts anyways, but I wanted to do it without killing off any links that I may have happened to post somewhere.

* * *
  
👀 see an issue, edit this post on [GitHub](https://github.com/WaylonWalker/waylonwalkerv2/edit/master/src/pages/blog/gracefully-redirect.md "edit this post")  

* * *

I have been writing short snippets about my mentality breaking into the tech/data industry in my newsletter, 👇 check it out and lets get the conversation started.

 

[![Sign up for my Newsletter](https://res.cloudinary.com/practicaldev/image/fetch/s--uOcrEpdd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://waylonwalker.com/waylon-walker-newsletter.png)](https://waylonwalker.com/newsletter)
My New Website Built with Next.js, TailwindCSS and Vercel
Tags: webdev, showdev, react, css
Published: 2020-06-12 16:00:32

One of the things that has been always bugging me is to not have a personal website that makes me feel like I've done a great job after finishing it. That's mainly because I wanted to build a website but didn't know what to put in it.

That's what changed this time because I knew what to put in my website, and also was really inspired and it took me very little time to discover how I wanted to display the content. In my previous attempts to have an amazing website, I wasn't able to find this kind of inspiration so most of the times I felt frustated and ended up looking for a template that would temporarily do the job.  

| ![](https://dev-to-uploads.s3.amazonaws.com/i/d6htypzubsndk30rte6c.png) | 
|:--:| 
| *My previous website, a blog built with a Gatsby template* |


As I usually do when I'm building personal projects, I decided to try some new tools that I haven't used before, in this case, Next.js and TailwindCSS were the new shiny things I wanted to take a look into.

I've been reading a lot of things regarding Next.js in the last few years, but in the last few months they released a new feature called [Static HTML Export](https://nextjs.org/docs/advanced-features/static-html-export) that allows developers to use the framework as a static site generator. Also, Next.js is mainly developed by [Vercel](https://vercel.com), a platform that allows you to deploy Next.js apps (and other kind of apps) to the cloud, combining CDN for static content and Serverless functions for your API and Server Side Rendered (SSR) routes. The best part of it is that they manage all of that for you, and with **zero config** you can get your Next.js app easily deployed in their platform.

Finally, I decided to go with TailwindCSS to style the website, I found that it's really easy to use and that once you learn the basics, applying styles to something in your website it's just a matter of adding a few utility classes to the elements you want to modify.

| ![](https://dev-to-uploads.s3.amazonaws.com/i/i6arxgpyzfui8di7060q.png) | 
|:--:| 
| *Vercel + Next.js + TailwindCSS = horus.dev* |

If you mix those tools, you'll eventually get a website like the one I have been building for the last few weeks, I bet you're already curious about what my new website looks like so... here's the link!

➡️ https://horus.dev 

But wait, there's more, it's also open source so feel free to take a look to the code on [GitHub](https://github.com/HorusGoul/horus.dev)! 

{% github HorusGoul/horus.dev %}

What do you think about my new website? Make me know about your ideas on how I could improve it in the comments 😊
#008 Docker HUB
Tags: docker, devops, tutorial
Published: 2020-06-12 15:59:52

# Introduction

this is part 8 from the journey it's a long journey(360 day) so go   please check previous parts , and if you need to walk in the journey    with  me  please make sure to follow because I may post more than once   in 1  Day  but surely I will post daily at least one 😍.

And I will cover lot of tools as we move on.

***

# Docker HUB

docker hub is the place where the repositories live , just like GIT .

Git store code , docker hub store images!

first go to [Docker Hub](https://hub.docker.com/) and create a account .

![signup](https://dev-to-uploads.s3.amazonaws.com/i/wddadm1egb3kc5blttf1.png)



nothing special just fill the form and confirm your email.

after login we will redirected to this home page

![home](https://dev-to-uploads.s3.amazonaws.com/i/u2w3kf8nzjdoltmmfrxu.png)



We can see our alpine Official Image that we used in last part

![official](https://dev-to-uploads.s3.amazonaws.com/i/unl3u35ule9rhwfq2lu4.png)



we can see 1+ billion download amazing!

to pull the image simple docker pull alpine and voila! we have an image ready to use locally!

We also have tags tab
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/5nazt1mjsw7e4cv8gnfw.png)


basically tags are versions to the image we can download the version we like.

***

# Official and Trusted

![offTrust](https://dev-to-uploads.s3.amazonaws.com/i/wfjb1o9aekkruwil5hu7.png)

verified publisher is well known company that publish it's own docker like IBM

official is like the ubuntu company publish there own docker image

***

# Unofficial Images

I like to mention that free docker account , can use only 1 private docker image but unlimited public docker images!

let's take a look for an unofficial docker image.

![sarah<3](https://dev-to-uploads.s3.amazonaws.com/i/12xdo7s2ii0zgr9alf2v.png)

let's take a look at sarahlaw007 image

![sarahClose](https://dev-to-uploads.s3.amazonaws.com/i/znw45p4yw4451j981ets.png)

We can notice that the username is before the image name ? Why alpine doesn't have one?

Simply because alpine is an official image so no need to username , it's hidden.
Application Performance Scalability to Success Session 2
Tags: azure, azureheroes, windowsvirtualdesktop, devops
Published: 2020-06-12 15:37:47

Currently performance is critical matter for a team or company to maintain in application."techforum" is gonna arranging a series of event on application performance development. Performance is not a jock that we can start form any where of ALM (Application Development Life Cycle ).It supposed to be think from very early stage of software development not only front end but also back end.

We've started event journey form database end, gradually it will touch Architecture,front end application, middle ware , Backend ,Performance testing, Deployment environment and so on.
Most experience having track record on working large enterprise application development escapist will on board on the series of events .Session are: 


1.Azure DevOps :Continuous Development (C/D) 
2.Performance Practice and guide line at Architecture level  
3. Azure Synapses  
4. Windows Virtual Desktop 

Notes : More details with be shared soon 

How to Join on webinar ?
Tools : Microsoft Team Live- Team Apps. is available 

Steps to join:
1 .Copy link to Browser : ( * shared later)
2. Click "watch on web instead" if don't have Team Apps installed 
3. Join as Anonymous  ( login optional )
Hosting wordpress site free on google cloud with bitnami wordpress SSL
Tags: googlecloud, wordpress, ssl, bitnami
Published: 2020-06-12 15:37:45

This article shows how you can free host your wordpress website on GCP for next one year. In this article we have used google cloud bitnami wordpress ssl for securing site. You can use your first 300$ credits for free hosting. So let’s start.
Step 1 :- First open https://console.cloud.google.com/ create new project if you have existing project that is also ok.
Step 2 :- Click on marketplace.
Step 3 :- Search for WordPress.
Step 4 :- Click on openlitespeed-wordpress. After it will redirect to openlitespeed-wordpress page in GCP.
Step 5:- Click on LAUNCH. You can enter information as needed. You can change Deployment name, Boot Disk Type, etc. After that allow traffic from all over worldwide network for that enter 0.0.0.0/0 in all fields. After that press Deploy.
Step 6 :- After reserve that IP means allocate static IP so sever address will never change. after that goto Cloud DNS. Press on Create Zone. Give zone name. In DNS Field enter your domain name. For tutorial purpose i am using free domain name. After that press Create.

for further reading please visit :- https://geeksfortech.com/hosting-wordpress-site-free-on-google-cloud-with-bitnami-wordpress-ssl/
JS:DS - Queue Data Structure in JavaScript
Tags: javascript, datastructure, jsds
Published: 2020-06-12 15:37:33

The Second Article on the **JS:DS** series. In this write up we are going to see the Queue Data Structure implementation in javascript and we use arrays for that.

For Stack Data Structure in JS. Please read in the below post.
{% post https://dev.to/saravanakumarputta/js-ds-stack-data-structure-in-javascript-26ki %}

##What is Queue?
The queue is a data structure to store the data in the order of insertion where the item gets inserted at the first into the queue will be the first one to be removed.

In shorter terms First In First Out(FIFO).

##How are we going to implement it?
The following are the methods we are going to have in Queue DS.

> **initialize** — Initialize the storage and queue size
> **enqueue** — push item to the queue
> **dequeue** — remove the first pushed item from the queue
> **getQueueSize** — Get the current queue size

###initialize
 1. @parmas — size — Queue Size
 2. storage — an array to store the items of the queue DS
 3. currentQueueSize — to track the size of the queue
 4. queueSize — application users can set the predefined size of the queue

```javascript
class Queue {
  constructor(size) {
    this.storage = [];
    this.currentqueueSize = 0;
    this.queueSize = size ? size : 10;
  }
}
```
###enqueue - Add items to the queue
1. Check the current size of the queue is less than the actual queue size.
2. If the above condition gets a pass, increase the current queue size by 1, and push the item to the Queue.
3. Else throw the error saying that the queue is full!

```javascript
class Queue {
  constructor(size) {
    this.storage = [];
    this.currentqueueSize = 0;
    this.queueSize = size ? size : 10;
  }
  enqueue(item) {
    if (this.currentqueueSize < this.queueSize) {
      this.queueSize++;
      this.storage.push(item);
    } else {
      throw 'Cannot enqueu. Since the Queue is full!'
    }
  }
}
```
###dequeue - Remove items from the queue
1. Check the current size of the queue is greater than 0.
2. If the above condition gets a pass, decrease the current queue size by 1, and remove the item from the first position in an array using shift().
3. Else throw the error saying that the queue is empty!

```javascript
class Queue {
  constructor(size) {
    this.storage = [];
    this.currentqueueSize = 0;
    this.queueSize = size ? size : 10;
  }
  dequeue() {
    if (this.currentqueueSize > 0) {
      this.currentqueueSize--;
      return this.storage.shift();
    }
    throw 'Cannot dequeue. Since the Queue is empty!'
  }
}
```
###getQueueSize
Return the current Queue size from the initialization part

```javascript
class Queue {
  constructor(size) {
    this.storage = [];
    this.currentqueueSize = 0;
    this.queueSize = size ? size : 10;
  }
  getQueueSize() {
    return this.currentqueueSize;
  }
}
```

###Complete code in below gist
{% gist https://gist.github.com/saravanakumarputta/ae8f1dc3c399cb337459848596966d16.js %}

This article is made with :heart: and am always thankful for the dev community around us!

Please follow me to get to know about latest write ups.
Open Monetization Wallet supports dev.to's new account payment pointers 💅
Tags: gftwhackathon, showdev, meta
Published: 2020-06-12 15:15:10

In a post published on Wednesday, @ben announced that dev.to now supports account-specific Web Monetization payment pointers – hooray!

{% post devteam/you-can-now-web-monetize-your-dev-posts-but-don-t-get-your-hopes-up-too-quickly-goc %}

My Grant For The Web Hackathon project Open Monetization Wallet (OMW) supports account-specific payment pointers on the site with no additional configuration needed! Check out the announcement post below to learn more about the project:

{% post bytesizedcode/announcing-open-monetization-wallet-my-gftw-hackathon-project-32o %}

To get started, simply go to [/settings/misc](/settings/misc) on this site and enter your Open Monetization Wallet URL. With the pre-release version of Open Monetization Wallet, you can enter in your wallet URL and get access to some sweet features, like a *durable, unique wallet URL* (so you can change your wallet provider between tools like Uphold, Stronghold, and more, without having to change the URL you specify on dev.to), and *revenue sharing*, if you want to share Web Monetization payments between multiple people or wallets. 

![OMW wallet in dev.to](https://dev-to-uploads.s3.amazonaws.com/i/s6zifbj81ziubt98srxi.png)

A fun update – I've submitted a grant application for Open Monetization Wallet to help support shipping version 1.0 of the project! You can check out [the v1.0 milestone I've created on GitHub](https://github.com/signalnerve/openmonetizationwallet/milestone/2) that has a lot of exciting new features - multiple wallets, UI improvements, and more! Wish me luck as the grant application is reviewed 😅
Defer Rending of Component Data Loading with Fastboot and Ember.js 
Tags: ember, fastboot
Published: 2020-06-12 15:08:56

We do the fast majority of our data loading in our components. We also use Fastboot which, by default, only awaits for promises to resolve that are returned in the model hook. 

Because all our data requests go through a central service, we're able to keep track how many requests are outstanding and then tell Fastboot to stop deferring and begin rendering the page. This isn't the most beautiful solution, but it's worked for us!


```js
export default class ApplicationRoute extends Route {

  model(params, transition) {

    if (this.fastboot && this.fastboot.isFastBoot) {

      // Create a promise we'll resolve when we're done fetching data
      let promise = new Promise((resolve, reject) => {
        let poll = () => {
          later(() => {
            if (this.finder.inFlightRequests.length === 0 && this.query.inFlightQueriesCount === 0) {
              // If we have no more requests, wait until Ember has rendered and then resolve the promise
              scheduleOnce("afterRender", this, resolve)
              return
            } else {
              // Still more outstanding requests, so poll
              poll()
            }
          }, 50)
        }
        poll()
      })

      // Pass the promise to fastboot so it will awai
      // until the promise resolves before rendering
      this.fastboot.deferRendering(promise)
    }

  }
}

```
ODBC Driver for Google BigQuery

Published: 2020-06-12 14:52:46

Devart ODBC Driver for Google BigQuery is a high performance and feature-rich connector for ODBC-compliant applications to enable you to access, analyze and report on your BigQuery data on Windows, both 32-bit and 64-bit. The driver processes standard ODBC function calls, submits SQL statements to BigQuery, and returns results to the application. You can work with BigQuery data warehouse like you would with a database – execute SQL statements to read, write, update, and delete billions of rows in very large tables.
[Devart driver](https://www.devart.com/odbc/bigquery/) provides capabilities to establish a connection to BigQuery data directly through HTTPS. If you have no access to BigQuery directly through HTTPS, you have also an ability to connect through Proxy using the connection options: Host, Port, Username, Password.
How To Create Plugin In OctoberCMS
Tags: php
Published: 2020-06-12 14:45:38

As a name suggest “Plugin” is a software add-on (i.e. Set of code to achieve some specific functionality) that is installed onto a program, enabling it to perform additional features.

In OctoberCMS Plugins are the foundation for adding new features to the CMS by extending it.

<h2>Purpose:</h2>

To enable third-party developers to create abilities which extend an application
To support easily adding new features
To reduce the size of an application
To separate source code from an application 
To create new plugin for OctoberCMS you must have to follow below steps:

<h2>Registration</h2>
Directory Structure
Registration file
Supported methods
Basic plugin information
Routing and initialization
Navigation menus
Version History
Plugin version file
Extending with events
Registration:

The registration process allows plugins to declare their features such as components or back-end menus and pages. Some examples of what a plugin can do:

Define components.
Define user permissions.
Add settings pages, menu items, lists and forms.
Create database table structures and seed data.
Alter functionality of the core or other plugins.
Provide classes, backend controllers, views, assets, and other files.

Read Complete Article at - <a href="https://addwebsolution.com/blog/how-create-plugin-octobercms">How to create Plugin</a>
Using GitHub to manage your project
Tags: github, sideprojects
Published: 2020-06-12 14:43:28

Hello!

I've been working recently on a side project and this time I focused a little bit more on the management of it.

I attempt to leverage GitHub not only as a remote for my code, but also the place where I keep track of the progress and the place where I dump my ideas for the things I want to add to the project.

A description of how I go about these things and a tour of the project can be found in the following video.

Cheers!

{% youtube tA_kXnd7cJA %}
Competitive programming helper
Tags: competitiveprogramming, tutorial, vscode, setup
Published: 2020-06-12 14:37:04

# How to setup Competitive programming Helper in VSCode

This is a very handy tool if you are solving problems on competitive sites like [HackerRank,](http://hackerrank.com/)[ HackerEarth,](https://www.hackerearth.com/)[ Codeforces](https://www.codeforces.com/) etc. Saves you considerable amount of time while debugging your code.

## What you need :

* [Competetive programmer vscode extension](https://marketplace.visualstudio.com/items?itemName=DivyanshuAgrawal.competitive-programming-helper)
* [Competetive Companion chrome extension](https://chrome.google.com/webstore/search/Competitive%20Companion)



## Steps after installing above pieces of software:

* In your vscode open the folder where you want to solve the problem. 
* Go to the problem page you want to practice/solve/whatever (i will be showing codeforces).
* Now press the green plus sign extension (that comes after installing Competetive Companian extension).

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/6buwcf8fzsjtv8a9seyu.gif)

* Go to vscode where you will be prompted to select your language of choice. A file with the problem-name.lang-extension will be created, with testing tab open adjacent. 

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/4evlg5hr8g7foonvfe8n.gif)

* Run using `Run All` button.
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/l4bh8rtk74xxr899oofq.gif)

## Features
* The default test cases are preloaded.
* You can run the file with few clicks.
* Can add custom test cases with `+New` button.
* Easy to use.

Sources:
https://github.com/agrawal-d/cph
https://github.com/jmerle/competitive-companion
Cover Photo by Zan on Unsplash