teleren/devto huggingface dataset:
Você sabe como funciona a lógica de Loading nas aplicações?
Tags: javascript, usability, react, reactnative
Published: 2020-11-15 00:38:44

Em JavaScript, as funções assíncronas são utilizadas para a realização de requisições HTTP (GET, POST, PUT, DELETE...) para se consumir dados, e, geralmente, essas funções demoram um certo tempo para ser executadas, por isso são assíncronas, para que a aplicação não pare por completo quando se precisar fazer uma requisição ao servidor.

Com isso em mente, por uma questão de usabilidade, é importante dar um feedback visual ao usuário quando uma requisição for iniciada e finalizada - o Loading. 

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

Nós podemos controlar quando uma animação de loading vai ser mostrada ou não. Utilizando como exemplo o React(e, automaticamente, o React Native) podemos utilizar um estado que eu chamo de isLoading que possui um valor inicial false. Em conjunto com esse estado, utilizo alguma animação para ser mostrada em tela, servindo como feedback visual para o usuário. Por exemplo, no React eu posso usar a coleção React Spinners (https://www.davidhu.io/react-spinners/) e o React Native possui um componente nativo chamado Activity Indicator (https://reactnative.dev/docs/activityindicator).

Sempre que eu fizer uma função assíncrona em meu componente, dentro dela mudo o valor desse estado para true, e controlo o tempo da requisição via try/catch. Alterarei o estado de volta para false no try(após o await, que é quando a requisição é completada) e no início do catch, para mostrar algum possível erro.

Agora, para se mostrar a animação em tela enquanto todo esse processo é realizado, eu posso abrir chaves dentro do meu JSX e utilizar o operador lógico && ou um operador ternário.

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

Isso é tudo pessoal. Disseminem o conhecimento! Até a próxima!
HM Quote Machine
Tags: codepen
Published: 2020-11-15 00:12:22

<p>The Random Quote Machine is one of the FreeCodeCamp Projects that fetches famous quotes by famous authors from the arrays in javascript everytime a user clicks on the 'Next Quote Button'.  Every quote shown on screen can also be tweeted with a single click on 'Tweet Quote Button'.</p>

{% codepen https://codepen.io/hollymaria/pen/mdEvzXB %}
Quote Machine
Tags: codepen
Published: 2020-11-15 00:10:45

<p>The Random Quote Machine is one of the FreeCodeCamp Projects that fetches famous quotes by famous authors from the arrays in javascript everytime a user clicks on the 'Next Quote Button'.  Every quote shown on screen can also be tweeted with a single click on 'Tweet Quote Button'.</p>

{% codepen https://codepen.io/hollymaria/pen/mdEvzXB %}
Separation of Concerns in MVVM View-Model
Tags: discuss
Published: 2020-11-15 00:09:47

I'd like to figure out what the convention is (if any) for separating form/view logic from a view-model. I will typically create a controls folder for each view-model which contains classes which directly relate to elements of the form/view.

For example

```
ViewModels
    Controls
        SomeViewModel
           Button1Controls.cs
    SomeViewModel.cs
```

Within Button1Controls.cs

```csharp
public bool IsActive
{
    get { return this._isActive; }
    set
    {
        this._isActive = value;
        this.Background = value ? "#F00" : "#0F0";
        this.OnPropertyChanged(nameof(this.IsActive));
    }
}

public string Background
{
    get { return this._background; }
    set
    {
        this._background = value;
        this.OnPropertyChanged(nameof(this.Background));
    }
}
```

Then, within SomeViewModel.cs

```csharp
public Button1Controls Button1Controls { get; set; }

public SomeViewModel()
{
    this.Button1Controls.IsActive = false;
}

public void Button1Click()
{
    this.Button1Controls.IsActive = !this.Button1Controls.IsActive;
}
```

While this approach works well enough, I can't help but think that there are better conventions. I was hoping that some of you would be able to explain your strategies.

I used to just leave all of this logic in the view-model, but that quickly becomes a mess. I've since developed this approach without having found a 'proper' solution, so I look forward to hearing from all of you.
TIL: Media queries of "source" elements can be used only within "picture" elements
Tags: webdev, html, css, development
Published: 2020-11-16 13:25:53

---
title: TIL: Media queries of "source" elements can be used only within "picture" elements
published: true
date: 2020-11-15 00:00:00 UTC
tags: #webdev #html #css #development
canonical_url: https://mmazzarolo.com/blog/2020-11-15-media-queries-in-source-elements/
---

TL;DR: [You can set the `media` attribute of a `<source>` element only within `<picture>` elements](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/source). So you can’t switch a `<video>` source based on the preferred color scheme for dark/light mode support.

* * *

A neat use case of the `media` attribute on a `<source>` element is to toggle images based on the [preferred colors scheme](https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-color-scheme).

```html
<picture>
  <source srcset="dark.png" media="(prefers-color-scheme: dark)" />
  <img src="light.png" />
</picture>
```

> A nice plus of this approach is that there won’t be any waste of bandwidth: the browser will download only the image associated with the current theme.

Unfortunately, you can’t use the `media` attribute on `<video>` sources — it would get ignored in most major browsers.

```html
<!-- Won't work -->
<video>
  <source
    src="dark.mp4"
    type="video/mp4"
    media="(prefers-color-scheme: dark)"
  />
  <source src="light.mp4" type="video/mp4" />
</video>
```

So you’ll still need to do it with some CSS (or JS).

```html
<video class="dark" src="dark.mp4" />
<video class="light" src="light.mp4" />

<style>
  .light {
    display: block;
  }

  .dark {
    display: none;
  }

  @media (prefers-color-scheme: dark) {
    .light {
      display: none;
    }

    .dark {
      display: block;
    }
  }
</style>
```
Playing around with minecraft doing some python coding
Tags: python, learning, minecraft
Published: 2020-11-14 23:57:20

---
title: Playing around with minecraft doing some python coding
published: true
description: We look at the posibility of coding python in order to change your minecraft world. Adding blocks with python and creating buildings and games in Minecraft.
tags: python, learning, minecraft
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/ka87yooz42t8cuvu24mg.jpg
---

{% youtube idbJ-P81Qw0 %}

We look at the possibility of coding python in order to change your minecraft world. Adding blocks with python and creating buildings and games in Minecraft.
Your email address is your online identity
Tags: privacy, identity
Published: 2020-11-14 23:51:47

If you use the same email everywhere, your email becomes your online security number. 

And you shouldn't hand out your identity that easily.


Make sure to not use the same email everywhere. It can be as easy as having 1 email for family & friends (Facebook), 1 for professional (LinkedIn), 1 for non-essential stuffs (newsletter, e-commerce, etc). Better yet, you can also have a different email "alias" for each website using service like  SpamGourmet, SimpleLogin (disclaimer: I'm its founder), AnonAddy, 33mail. 

It's never too late to start protecting our online privacy. Your future self will be thankful :).
Why you should make yourself replaceable
Tags: leadership, career
Published: 2020-11-14 23:38:44

Something for those with aspirations of taking on more leadership or responsibility, your mileage may vary! Every team is different and sometimes the makeup means there is no one who could realistically take over without a push but if you can identify the most suitable and help them, it’s a rewarding situation for everyone to be in.

When I think back to my time in my previous role, there’s a phrase I heard that has stuck with me: "if you can’t be replaced, you can’t be promoted".

I was in a team lead role when I heard this but it wasn’t until a few years later that I wondered what was next? Ultimately I moved on, but how hard would have looked for something else if I knew I would be leaving my team in the lurch?

It made my decision to try something new easier, knowing in was leaving my team in the hands of someone who was more than capable. Someone that was ready. There’s a sense of pride and achievement when you can either help someone to fulfill their potential or to help them earn a chance at taking the next step.

It’s not something that needs to be at the forefront of your thinking when leading a team, but having it somewhere does no harm. Helping your team mates or your team members grow comes with its own rewards.
Meiosis a simple state management for React
Tags: meiosis, react
Published: 2020-11-14 23:27:11

I have posts a few articles on Meiosis, please read them if you are new to this pattern

Here is a use case for React.

You can test it here [MeioisisReact](https://flems.io/#0=N4IgtglgJlA2CmIBcA2ADAGhAZ3ggxgC7xTIgQB2U8AHgHQBW2IW+A9hdmwme7LAEMADrlJYAZhATMkAbVAUBYREnJVajZqw7EKhMgHoAVAHNYbAEYDYAAgBK8AUQz3HRACIB5ALIvxsAE8oF2UAJxN4UMo2IwMAHQp2TkIbMIibAF5UyIioijYAbgSEgDcBUJsAQSIIDmxMmwAKAFchKAFiAEpMgD4bYASbG1D4QmbQin7BoZtKfAqkJu6Mvtb24kaByZmh9ma9SMXG-GW+-BsAahsARmmhgF9OhPv74ooyisoIQghrAGVCB14A0trs2PtiAsbGhnm8PjY1kCGv4gnRsIQRkpGp0iu9yjZ0UD6lkUVA0fgBBRGml4C4vj9-oDiC5EV1cfCnD86g1qlzOC02kCcXD8ZUhEJkfsahwmsACUz4NgXJzapwbI8ptt4bJ6S5cIQAJIUb4AXQaDk5dGauABQMa4msuGFWvxskJzIJo1txDNWQtRCtNoVjXdiuxzps0wMBhsAhKbGgswokmNKXMbCE0wg4iaAEJ6d1QTMklwEHRzCZGnEcIDQoRq09tkN9Ubvo0Mc14BGZqHsHQwMJGiHTp7CN74MPu69tiMxhMmncbAAeKAQEo9RdDJcAC2uPWAoboewOoXuS4Mu43TZmS4szUIhBlNg4AGFYBB8ABrDLAFV1OhzKePQGgAcvg553g+HBXjs56ruu0zOvcuIJP6hBeN4dAjOooSNEM0xLmKEq9j+vb3LG0qcD+f6cORBg9Bg0xQGw+DNMoeh0BEhAAKIIOxhAAEIBAaUBViAwiZiAjbOiwIDsGAQhSJEZBWBYeCybgBB8jIIAAEwACxIPpID3BgChKCo4ninQ26EGAsCyUkuj6KoK5rrMUAZNWEnVj0cFrleJlmSAijKGQElHtgWhyTo8B6CpbBQAELiQY+kxFuIOgALQOpAgSLNglLYFluBROIuJDJleglRAABe8CLNcIxgLi06pRwKX3ml5YQCYtmars4xcKEixCAmJ4VTYQgCDAlAmIsulCDQNgABxLTYi3LWtNCTXwbAjTYADEACsADsx3HVAACck1WF+JihOCVBZXtB2HeIH2fbd+3UAd1zraWiYnedl03dMA7hJQiz6UtrUJO1FBINubAlJEA02Hdn4PU9UAvdw+2LId8DEyTcMUAjdDtKEn7o5j2P7Ljr2E2dF3Xbt+NvZ9X2wuTXUcJT5SfkjKNo0WdOPQzePmG9p2y8d4hgxQ050MQCmRB04y0jYNlsdA3wBOjEMmJQWUWGwUFgAtaCwzzlBCPehvlMbFBZVEfWENDNtKwkghqbYRZGybbu2Ys21kyZJpYO+FCfjI8ghRZZCkrJ4wOaotmECISDRvsQhY0ebBgAYpIAAJoHQul0CtxeBGSTCyYQARCJZ2DzBAQj6KZ5lhaomJECnoRpyAGdZznFB5yYBdF33hAl9cKB0NcADMi8GGxUAGDPlPwKj5hCPxmgN03Ldtx3QXd5ZM9ZcxYAD0PI-YNna-j-n8mb24hDX4Xc8L8vq-r+-TkX8wDb13hmA+9csCN2bmQVuUQz5dwTj3cAORIjRDvmQB+T9c6v0LgYGkeQ2BlzoPpOgaAj4wNUHA9uncTT3CAA)

```js
/*global React, ReactDOM, flyd, mergerino*/
const merge = mergerino;

var Actions = (update) => {
  return {
    incr : () => update({
      counter: (c) => c + 1
    })
}}

var initialState = {
  counter : 0
}

var update = flyd.stream();
var states = flyd.scan(merge, initialState, update);
var actions = Actions(update);

var App = function ({ states, actions }) {
  var [init, setInit] = React.useState(false);
  var [state, setState] = React.useState(states());
 
  // avoid infinit loop
  if (!init) {
    console.log("start")
    setInit(true);
    states.map((s) => setState(s));
  }
  return (
    <div>
      <h1>{state.counter}</h1>
      <button onClick = {actions.incr}>INC</button>
    </div>
  );
};

ReactDOM.render(  
  <App states={states} actions={actions} />,
  document.getElementById("app")
);
```
Hello
Tags: firstpost
Published: 2020-11-14 22:42:51

Hello, my name is Michael and I am a graduate with a degree in Computer Science. I enjoy coding in python, javascript, and C# using Django, React, and the .NET frameworks. I'm currently unemployed and looking for some freelancing opportunities. Right now I'm working on a business website for a bowling alley and restaurant in my local area using React. It will be a simple multi-page application. Hope to use this site more to connect and share my projects!
The Making of a CLI Project
Published: 2020-11-14 21:51:09

I recently completed a Bootcamp assignment to create a CLI (Command Line Interface) application.  The application should allow a user to request data from a web server.  The user should also have the option of drilling down for additional information on a specific item.   I had the option of choosing between scraping the data or using an API (Application Programming Interface).  The API route seemed more stable to me since I would not have to worry about a website being changed and causing my scraper to no longer work.
 
I searched for an API and discovered one that delivered information on vehicle diagnostic codes or OBD-II PIDs(On-board Diagnostics Parameter IDs).  While perhaps not the most exciting topic, it does a great job of meeting the project requirements.  The data provided is Code Number, Description, and Possible Causes.  This allows a user to see the code along with a description and then decide if they want to see the possible causes.
  
The application has three classes.  The CLI class manages any interactions with the user.  The API class is responsible for retrieving the requested data from the remote server.  And lastly, the OBDCode class has the duty of storing and iterating through the vehicle code data.

This was my first ever CLI project and I have to admit to being somewhat intimidated (ok, panicked) at first.  I found that if I just walked through the process and focused on getting one method working at a time, it started to feel manageable.  When I finally managed to have each Class doing their assigned responsibilities correctly, it was just a matter of putting the interaction between the classes in the proper and logical order.

One thing that really surprised me was the flexibility that CLI allowed.  My CLI experience up to this point had been entering data at a prompt and seeing a return prompt.  I soon learned that the capabilities went beyond just providing a series of please enter 1, 2, or 3 prompts.  I could actually give users a menu to select from.  This not only looked great, but it also eliminated input validation.

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

                      
 

In the end, panic eventually turned to excitement as each corrected error message added additional functionality to the application.  I certainly learned a lot from this experience.  It was my first CLI application, my first time working with APIs, and I also learned that a P-0300 diagnostic code is Random / Multiple Cylinder Misfire Detected.
Simple Download Text File Component with React
Tags: javascript, typescript, react, webdev
Published: 2020-11-14 21:38:14

I'm working on a project with a feature where you can save a text file after you've created a list. Creating a component that saves a text file is a lot simpler than I expected it to be!

This is the component I came up with...

```tsx
import React, { useEffect, useState } from 'react'

export const SaveList: React.FC = ({list}) => {
  // set up local state for generating the download link
  const [downloadLink, setDownloadLink] = useState('')

  // function for generating file and set download link
  const makeTextFile = () => {
    // This creates the file. 
    // In my case, I have an array, and each item in 
    // the array should be on a new line, which is why
    // I use .join('\n') here.
    const data = new Blob([list.join('\n')], { type: 'text/plain' })

    // this part avoids memory leaks
    if (downloadLink !== '') window.URL.revokeObjectURL(downloadLink)
    
    // update the download link state
    setDownloadLink(window.URL.createObjectURL(data))
  }

  // Call the function if list changes
  useEffect(() => {
    makeTextFile()
  }, [list])

  return (
    <a
      // this attribute sets the filename
      download='list.txt'
      // link to the download URL
      href={downloadLink}
    >
      download
    </a>
  )
}

export default SaveList
```
Basics SQL - CREATE Database
Tags: todayilearned, sql, database
Published: 2020-11-14 21:28:14

# Words 
**DBMS** (Data Base Management System): software for creating and administering databases.
**RDBM**s (Relational Data Base Management System), such as MySQL, PostgreSQL, Oracle, etc.
**Database** container for storing, managing and retrieving data inside structured tables.
**Table** element of a database containing data that is grouped by common properties, which allows for structure and organisation. 
**Field** property that characterises data in a table. 
**Primary Key** This is a unique identifier that allows you to quickly identify a record. 
**Tuple** (or **record**) values ​​in a table.

The data structure (tables, fields, relations...) that defines how the data will be organized. The creation of the database and its tables, but also the manipulation of the data (reading, adding, modification, deletion), are performed via queries sent to the DBMS, written in a particular 
language called SQL (Structured Query Language). 

## Install SQL Server
[on Ubuntu](https://www.digitalocean.com/community/tutorials/how-to-install-mysql-on-ubuntu-18-04)

##Get started 

1. [Create a Database](https://mariadb.com/kb/en/create-database/)
`mysql > CREATE DATABASE my-database;`

2. Move onto Database 
`mysql -u root -D my-database -p`

- load a file 
 ` mysql -u root -D my-database -p < file.sql `

- create table 
``` SQL
CREATE TABLE `wizard` (
  `id` INT NOT NULL AUTO_INCREMENT,
  `firstname` VARCHAR(100) NOT NULL,
  `lastname` VARCHAR(100) NOT NULL,
  `birthday` DATE NOT NULL,
  `birth_place` VARCHAR(255) NULL,
  `biography` TEXT NULL,
  PRIMARY KEY (`id`)
);
``` 
- [SHOW](https://mariadb.com/kb/en/show/)
- [DESCRIPE](https://mariadb.com/kb/en/describe/)
- [ALTER TABLE](https://www.w3schools.com/sql/sql_alter.asp)
Testing an Apollo GraphQL server using apollo-server-testing, Jest and msw
Tags: graphql, api, jest, testing
Published: 2020-11-15 07:32:12

---
title: Testing an Apollo GraphQL server using apollo-server-testing, Jest and msw
published: true
date: 2020-11-14 21:23:09 UTC
tags: graphql,api,jest,testing
canonical_url: 
---

[![](https://cdn-images-1.medium.com/max/2600/0*pefK9U3ObK7cTGYd)](https://medium.com/@bartwijnants/testing-an-apollo-graphql-server-using-apollo-server-testing-jest-and-msw-feed7d9e05cf?source=rss-3dd8c36bc285------2)

How do you easily test an Apollo GraphQL server that gets data from external api’s?

[Continue reading on Medium »](https://medium.com/@bartwijnants/testing-an-apollo-graphql-server-using-apollo-server-testing-jest-and-msw-feed7d9e05cf?source=rss-3dd8c36bc285------2)
Eleventh hour Hacktoberfest 2020
Tags: hacktoberfest, opensource
Published: 2020-11-14 21:05:21

---
title:Eleventh hour Hacktoberfest 2020
published: true
tags: hacktoberfest, opensource 
---
 ✨This template is only meant to get your ideas going, so please feel free to write your own title, structure, and words! ✨ 


### Hacktberfest 2020
<!-- If you are new to the DEV community, introduce yourself and share a bit about why you joined DEV and decided to participate in Hacktoberfest this year.  --> 

Keeping up with developments.

### 100daysofcode, FreeCodeCamp

<!-- Are you brand new to open source? What about coding in general? Tell us about how you got here →

### Progress

<!-- Share a bit about where you’re at in your Hacktoberfest journey. What stage are you at? How has the process been?  -->

Hacktoberfest is a great event for reminding myself how far I've come in a year.  How much more confident about understanding the technologies and code and interacting.

### Contributions

<!-- This is where you can list the contributions you made and explain why you chose the projects you did. Don’t forget to add links!  -->

I started rather late with only a couple of days left so wasn't entirely sure if I would find anything I could usefully contribute to.  Once I got going however I wished I'd started sooner and had more time, 


### Reflections
<!-- Overall, how has your Hacktoberfest 2020 experience been? If you’re a first-timer, will you participate again? What have you learned? Have you made any interesting connections? What is your next step in open source?  -->

Love this event, always reminds me about all the interesting projects on GitHub.
How to remove a package from Laravel using composer?

Published: 2020-11-14 20:59:59

Check out this post on the [devdojo.com](https://devdojo.com/) website!

It is a post on [How to remove a package from Laravel using composer](https://devdojo.com/bobbyiliev/how-to-remove-a-package-from-laravel-using-composer)
 🔥!

To make things even better you can use this referral link to get a free $100 credit that you could use to deploy your virtual machines and test the guide yourself on a few DigitalOcean servers:

[Digital Ocean $100 Free Credit](https://m.do.co/c/2a9bba940f39)

Link to the post:

https://devdojo.com/bobbyiliev/how-to-remove-a-package-from-laravel-using-composer

I strongly encourage everyone to go ahead and check out the [devdojo.com](https://devdojo.com/) website, there's a lot of valuable content there.
Cards List UI Design(Day 1218 - uidesigndaily.com)
Tags: codepen
Published: 2020-11-14 20:36:26

<p>This is code conversion of the design made by Ildiko from uidesigndaily.com. I was excited by the design and wanted to code and see how its gone come thru.</p>

{% codepen https://codepen.io/grohit/pen/PozVdow %}
Delete All Releases from GitHub Repo
Tags: github
Published: 2020-11-14 20:32:47

I wanted to clean out the releases I had in a GitHub repo. Googled around and ended up using this command since i already had the GitHub CLI installed.

If you do not already have the GitHub CLI installed, check out the repo (https://github.com/cli/cli) for instructions.

The command:
```
$ gh release list | sed 's/|/ /' | awk '{print $1, $8}' | while read -r line; do gh release delete -y "$line"; done
```

`gh release list` gets a list of releases as a table.

`sed 's/|/ /' | awk '{print $1, $8}'` singles out the first column provided by the table.

`while read -r line; do gh release delete -y "$line"; done` ran the delete command for each result.

Result:
```
✓ Deleted release darwin-75c5ae281acc12eb95445162d0bc0f73dcc51ace
✓ Deleted release darwin-8d25e0f94558b753f8d58509ca03cbe6e0c86cab
✓ Deleted release darwin-e0a28dd3b2df98f48e30fd851a4e1ef9990ed7b3
✓ Deleted release darwin-3f3aa570acd185016cb11d5aecc61749fd907d6f
✓ Deleted release darwin-37c8382ef2e1e170642f24d45a31c5c3e9004084
✓ Deleted release darwin-d41e9be524b62be4b30ea7786592851f949dda5d
✓ Deleted release darwin-b57896ec7121e59c32e5f62e39bee5cb1edd42be
✓ Deleted release darwin-7849de58c872a2decf43e520ec42b804f41d85f3
✓ Deleted release darwin-07df533961c2d8cfd34245672f7d9ff16f6bb8e6
✓ Deleted release darwin-870a61ff358d7bbc5d97b290ffd32be1501bbddb
✓ Deleted release darwin-21de7c7db92d4d5add9f7539f2ba2993f2d41cd2
✓ Deleted release linux-master
✓ Deleted release linux-21de7c7db92d4d5add9f7539f2ba2993f2d41cd2
✓ Deleted release windows-21de7c7db92d4d5add9f7539f2ba2993f2d41cd2
✓ Deleted release linux-12542d8ae15ac6c3a28a3bb8da7ae297bb0e69a0
✓ Deleted release windows-12542d8ae15ac6c3a28a3bb8da7ae297bb0e69a0
✓ Deleted release linux-99ce7f2f6eaae14dfb5d491888115b1fd71d998a
✓ Deleted release windows-99ce7f2f6eaae14dfb5d491888115b1fd71d998a
✓ Deleted release windows-3acd65caf2f6ea063feba12861eea021fe9f506e
✓ Deleted release linux-a2054c7f47352884edcdbd4777f66b416563b980
✓ Deleted release windows-a2054c7f47352884edcdbd4777f66b416563b980
✓ Deleted release linux-65103ccc3b98cfcf553220bc193e2383e6047169
✓ Deleted release windows-65103ccc3b98cfcf553220bc193e2383e6047169
✓ Deleted release windows-1f435af0cfaa7bd2d4f026b34ceaeaf671eb0a51
✓ Deleted release linux-ca6f22638afc0985245a95ad799fe6b0a38a6477
✓ Deleted release windows-ca6f22638afc0985245a95ad799fe6b0a38a6477
✓ Deleted release windows-d59c68d12992765781c8803c79213cbae6e6155b
```

After deleting all of the releases I had to also get rid of all the tags. This command did that for me.

```
$ git fetch
$ git tag -l | xargs -n 1 git push --delete origin
```