mirror of
https://github.com/BBaoVanC/bbaovanc.com.git
synced 2026-04-03 09:52:38 -05:00
Add 2 new Copilot posts
This commit is contained in:
334
content/blog/copilot-post/index.md
Normal file
334
content/blog/copilot-post/index.md
Normal file
@@ -0,0 +1,334 @@
|
||||
---
|
||||
|
||||
# this is the title it generated. not even joking
|
||||
title: Copilot
|
||||
date: 2021-11-07
|
||||
toc: true
|
||||
comments: true
|
||||
|
||||
authors:
|
||||
- GitHub Copilot
|
||||
- bbaovanc
|
||||
|
||||
tags:
|
||||
- github-copilot
|
||||
|
||||
---
|
||||
|
||||
Did you know that Copilot is a command line interface for Copilot? It's a tool
|
||||
for creating and managing Copilot projects.
|
||||
|
||||
<!--more-->
|
||||
|
||||
|
||||
{{< aside >}}
|
||||
## What is this post?
|
||||
|
||||
I used [GitHub Copilot](https://copilot.github.com/) to write everything. All I
|
||||
did myself (being a human) was write a couple words and let it finish it off.
|
||||
I'll put any text that I wrote myself in an "aside" box, like you can see on
|
||||
this paragraph.
|
||||
{{< /aside >}}
|
||||
|
||||
## What is Copilot?
|
||||
|
||||
Copilot is a [Cloud Native
|
||||
Computing](https://en.wikipedia.org/wiki/Cloud_computing). It's used for
|
||||
managing the lifecycle of your application. It's also used as a tool for
|
||||
creating and managing Copilot projects.
|
||||
|
||||
## What is this?
|
||||
|
||||
This is an article about [GitHub Copilot]() and the Copilot CLI. It's a tool for
|
||||
creating and managing Copilot projects. I wrote it to help me learn the [GitHub
|
||||
Copilot API]() and to learn how to use the CLI. You can read more about the API
|
||||
[here](https://developer.github.com/v4/explorer/). Next time you want to learn
|
||||
more about Copilot, check out the [GitHub Copilot
|
||||
docs](https://developer.github.com/apps/copilot/).
|
||||
|
||||
## Why is this?
|
||||
|
||||
Because I'm a developer and I like to learn new things. This is a tool I wrote
|
||||
to learn how the Copilot API works. It's a tool for creating and managing
|
||||
Copilot projects. I wrote it to help me learn the [GitHub Copilot API]() and to
|
||||
learn how to use the CLI. You can read more about the API
|
||||
[here](https://developer.github.com/v4/explorer/). Next time you want to learn
|
||||
more about Copilot, check out the [GitHub Copilot
|
||||
docs](https://developer.github.com/apps/copilot/). It's a tool for creating and
|
||||
managing Copilot projects. I wrote it to help me learn the [GitHub Copilot
|
||||
API]() and to learn how to use the CLI. You can read more about the API
|
||||
[here](https://developer.github.com/v4/explorer/). Next time you want to learn
|
||||
more about Copilot, check out the [GitHub Copilot
|
||||
docs](https://developer.github.com/apps/copilot/).
|
||||
|
||||
## How did I write this?
|
||||
|
||||
I used [Hugo](https://gohugo.io/) to write this article. It's a static site
|
||||
generator that makes it easy to create and manage a blog. GitHub Copilot is what
|
||||
I use to create and manage Copilot projects.
|
||||
|
||||
## How do I use this?
|
||||
|
||||
Here's how you use this. You can read more about the CLI
|
||||
[here](https://developer.github.com/apps/copilot/). You can read more about the
|
||||
API [here](https://developer.github.com/v4/explorer/). Next time you want to
|
||||
learn more about Copilot, check out the [GitHub Copilot
|
||||
docs](https://developer.github.com/apps/copilot/). It's a tool for creating and
|
||||
managing Copilot projects. I wrote it to help me learn the [GitHub Copilot
|
||||
API]() and to learn how to use the CLI. You can read more about the API
|
||||
[here](https://developer.github.com/v4/explorer/). Next time you want to learn
|
||||
more about Copilot, check out the [GitHub Copilot
|
||||
docs](https://developer.github.com/apps/copilot/). Did you know that Copilot is
|
||||
a command line interface for Copilot? It's a tool for creating and managing
|
||||
Copilot projects. It's not a tool for creating and managing Copilot projects.
|
||||
It's a tool for creating and managing Copilot projects. I wrote it to help me
|
||||
learn the [GitHub Copilot API]() and to learn how to use the CLI. You can read
|
||||
more about the API [here](https://developer.github.com/v4/explorer/). Next time
|
||||
you want to learn more about Copilot, check out the [GitHub Copilot
|
||||
docs](https://developer.github.com/apps/copilot/).
|
||||
|
||||
## What do I need to know?
|
||||
|
||||
* You need a GitHub account
|
||||
* You need to have a GitHub Copilot API key
|
||||
* You need to have a GitHub Copilot CLI
|
||||
* You need to have a GitHub Copilot project
|
||||
|
||||
## How do I create a project?
|
||||
|
||||
1. Create a project on [GitHub
|
||||
Copilot](https://developer.github.com/apps/copilot/).
|
||||
2. Create a project on [GitHub
|
||||
Copilot](https://developer.github.com/apps/copilot/).
|
||||
3. Create a project on [GitHub
|
||||
Copilot](https://developer.github.com/apps/copilot/).
|
||||
|
||||
## How do I delete a project?
|
||||
|
||||
1. Delete a project on [GitHub
|
||||
Copilot](https://developer.github.com/apps/copilot/).
|
||||
2. Delete a project on [GitHub
|
||||
Copilot](https://developer.github.com/apps/copilot/).
|
||||
3. Delete a project on [GitHub
|
||||
Copilot](https://developer.github.com/apps/copilot/).
|
||||
|
||||
## I want to create a project, but I don't have an API key.
|
||||
|
||||
Well, you need an API key. You can create one on [GitHub
|
||||
Copilot](https://developer.github.com/apps/copilot/). You can create one on
|
||||
[GitHub Copilot](https://developer.github.com/apps/copilot/). You can create one
|
||||
on [GitHub Copilot](https://developer.github.com/apps/copilot/). If you don't
|
||||
have an API key, you can create one on [GitHub
|
||||
Copilot](https://developer.github.com/apps/copilot/). Sorry about that. You can
|
||||
create one on [GitHub Copilot](https://developer.github.com/apps/copilot/).
|
||||
|
||||
|
||||
## I want to create a project, but I don't have a CLI.
|
||||
|
||||
If you don't have a CLI, you can create one on [GitHub
|
||||
Copilot](https://developer.github.com/apps/copilot/). Unfortunately, you can't
|
||||
create one on [GitHub Copilot](https://developer.github.com/apps/copilot/). You
|
||||
can create one on [GitHub Copilot](https://developer.github.com/apps/copilot/).
|
||||
|
||||
{{< aside >}}
|
||||
The following made me laugh:
|
||||
{{< /aside >}}
|
||||
|
||||
## It keeps saying the same thing.
|
||||
|
||||
1. It keeps saying the same thing.
|
||||
2. It keeps saying the same thing.
|
||||
3. It keeps saying the same thing.
|
||||
|
||||
```js
|
||||
var password = process.env.GITHUB_API_KEY;
|
||||
```
|
||||
|
||||
Did you know that Copilot is a command line interface for Copilot? It's a tool
|
||||
for creating and managing Copilot projects. It keeps saying the same thing. You
|
||||
can create one on [GitHub Copilot](https://developer.github.com/apps/copilot/).
|
||||
|
||||
## Code blocks
|
||||
|
||||
{{< aside >}}
|
||||
These next subsections are written by GitHub Copilot. All I did was write the
|
||||
section headers, start the code block, and type some comments to get it started.
|
||||
I have no idea if the code actually works (or even does anything at all), so
|
||||
test it at your own risk!
|
||||
{{< /aside >}}
|
||||
|
||||
### Copilot
|
||||
|
||||
```python
|
||||
import os
|
||||
import json
|
||||
import requests
|
||||
|
||||
# Get the API key from the environment
|
||||
api_key = os.environ.get('GITHUB_API_KEY')
|
||||
# Get the project name from the environment
|
||||
project_name = os.environ.get('GITHUB_PROJECT_NAME')
|
||||
# Get the project description from the environment
|
||||
project_description = os.environ.get('GITHUB_PROJECT_DESCRIPTION')
|
||||
# Get the project homepage from the environment
|
||||
project_homepage = os.environ.get('GITHUB_PROJECT_HOMEPAGE')
|
||||
# Get the project repository from the environment
|
||||
project_repository = os.environ.get('GITHUB_PROJECT_REPOSITORY')
|
||||
# Get the project organization from the environment
|
||||
project_organization = os.environ.get('GITHUB_PROJECT_ORGANIZATION')
|
||||
# Get the project visibility from the environment
|
||||
project_visibility = os.environ.get('GITHUB_PROJECT_VISIBILITY')
|
||||
# Get the project topics from the environment
|
||||
project_topics = os.environ.get('GITHUB_PROJECT_TOPICS')
|
||||
# Get the project languages from the environment
|
||||
project_languages = os.environ.get('GITHUB_PROJECT_LANGUAGES')
|
||||
# Get the project license from the environment
|
||||
project_license = os.environ.get('GITHUB_PROJECT_LICENSE')
|
||||
# Get the project documentation from the environment
|
||||
project_documentation = os.environ.get('GITHUB_PROJECT_DOCUMENTATION')
|
||||
|
||||
# Create the project
|
||||
response = requests.post(
|
||||
'https://api.github.com/orgs/{}/projects'.format(project_organization),
|
||||
headers={
|
||||
'Authorization': 'token {}'.format(api_key),
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
data=json.dumps({
|
||||
'name': project_name,
|
||||
'body': project_description,
|
||||
'homepage': project_homepage,
|
||||
'repository_url': project_repository,
|
||||
'visibility': project_visibility,
|
||||
'topics': project_topics,
|
||||
'languages': project_languages,
|
||||
'license_template': project_license,
|
||||
'documentation_url': project_documentation,
|
||||
}),
|
||||
)
|
||||
```
|
||||
|
||||
### A basic Discord bot
|
||||
|
||||
```python
|
||||
import discord
|
||||
import os
|
||||
import json
|
||||
import requests
|
||||
|
||||
# the token of the bot
|
||||
token = os.environ.get('DISCORD_BOT_TOKEN')
|
||||
# the name of the bot
|
||||
name = os.environ.get('DISCORD_BOT_NAME')
|
||||
|
||||
# command handler
|
||||
async def handle_command(message):
|
||||
# get the command
|
||||
command = message.content.split()[0]
|
||||
# get the arguments
|
||||
args = message.content.split()[1:]
|
||||
# get the author
|
||||
author = message.author
|
||||
# get the author's id
|
||||
author_id = message.author.id
|
||||
|
||||
# create the response
|
||||
response = '{}'.format(author.mention)
|
||||
|
||||
# if the command is `ping`
|
||||
if command == 'ping':
|
||||
# respond with pong
|
||||
response = 'pong'
|
||||
|
||||
# if the command is `hello`
|
||||
if command == 'hello':
|
||||
# respond with hello
|
||||
response = 'hello'
|
||||
|
||||
# if the command is `help`
|
||||
if command == 'help':
|
||||
# respond with help
|
||||
response = 'help'
|
||||
|
||||
# send the response
|
||||
await client.send_message(message.channel, response)
|
||||
```
|
||||
|
||||
### A basic Minecraft bot
|
||||
|
||||
```python
|
||||
import minecraft
|
||||
import os
|
||||
import json
|
||||
import requests
|
||||
|
||||
# run the Minecraft bot
|
||||
client = minecraft.Minecraft.create()
|
||||
|
||||
# build a house
|
||||
def build_house(x, y, z):
|
||||
# build a house
|
||||
client.setBlock(x, y, z, 1)
|
||||
client.setBlock(x, y + 1, z, 1)
|
||||
client.setBlock(x, y + 2, z, 1)
|
||||
client.setBlock(x, y + 3, z, 1)
|
||||
client.setBlock(x, y + 4, z, 1)
|
||||
client.setBlock(x, y + 5, z, 1)
|
||||
client.setBlock(x, y + 6, z, 1)
|
||||
client.setBlock(x, y + 7, z, 1)
|
||||
client.setBlock(x, y + 8, z, 1)
|
||||
client.setBlock(x, y + 9, z, 1)
|
||||
client.setBlock(x, y + 10, z, 1)
|
||||
client.setBlock(x, y + 11, z, 1)
|
||||
client.setBlock(x, y + 12, z, 1)
|
||||
client.setBlock(x, y + 13, z, 1)
|
||||
client.setBlock(x, y + 14, z, 1)
|
||||
client.setBlock(x, y + 15, z, 1)
|
||||
client.setBlock(x, y + 16, z, 1)
|
||||
client.setBlock(x, y + 17, z, 1)
|
||||
client.setBlock(x, y + 18, z, 1)
|
||||
client.setBlock(x, y + 19, z, 1)
|
||||
client.setBlock(x, y + 20, z, 1)
|
||||
client.setBlock(x, y + 21, z, 1)
|
||||
client.setBlock(x, y + 22, z, 1)
|
||||
client.setBlock(x, y + 23, z, 1)
|
||||
|
||||
# build a door
|
||||
client.setBlock(x - 1, y + 1, z, 64)
|
||||
client.setBlock(x - 1, y + 2, z, 64)
|
||||
client.setBlock(x - 1, y + 3, z, 64)
|
||||
client.setBlock(x - 1, y + 4, z, 64)
|
||||
client.setBlock(x - 1, y + 5, z, 64)
|
||||
client.setBlock(x - 1, y + 6, z, 64)
|
||||
|
||||
# build a window
|
||||
client.setBlock(x - 1, y + 10, z, 64)
|
||||
client.setBlock(x - 1, y + 11, z, 64)
|
||||
client.setBlock(x - 1, y + 12, z, 64)
|
||||
client.setBlock(x - 1, y + 13, z, 64)
|
||||
```
|
||||
|
||||
### A random program
|
||||
|
||||
```js
|
||||
var x = Math.random() * 10;
|
||||
var y = Math.random() * 10;
|
||||
var z = Math.random() * 10;
|
||||
|
||||
// do something with the coordinates
|
||||
console.log(x, y, z);
|
||||
```
|
||||
|
||||
### Find the last digit of pi
|
||||
|
||||
{{< aside >}}
|
||||
This next one is actually genius.
|
||||
{{< /aside >}}
|
||||
|
||||
```python
|
||||
import math
|
||||
|
||||
# find the last digit of pi
|
||||
def last_digit_of_pi():
|
||||
return int(str(math.pi)[-1])
|
||||
```
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 9.7 KiB |
@@ -0,0 +1,60 @@
|
||||
---
|
||||
|
||||
title: Using Github copilot to write a blog post
|
||||
date: 2021-11-07
|
||||
toc: true
|
||||
comments: true
|
||||
draft: true
|
||||
|
||||
authors:
|
||||
- bbaovanc
|
||||
|
||||
tags:
|
||||
- github-copilot
|
||||
- blog
|
||||
|
||||
# this will be shown for the article in list pages and in the page metadata
|
||||
# it can be either an image or video (this might change in the future, however)
|
||||
resources:
|
||||
- name: print-a-news-article
|
||||
src: print-a-news-article.webp
|
||||
|
||||
- name: copilot-blog-post
|
||||
src: copilot-blog-post.webp
|
||||
|
||||
---
|
||||
|
||||
I found out that GitHub Copilot can write in Markdown, so I decided to get it to
|
||||
write a blog post for me. Here's how I did it.
|
||||
|
||||
<!--more-->
|
||||
|
||||
## Preface
|
||||
|
||||
I recommend you read my [other blog post about Copilot]({{< ref
|
||||
"/blog/github-copilot-experiments/index.md" >}}) where I showed a bunch of
|
||||
examples of code I generated using Copilot. Near the end of it, I started to
|
||||
experiment asking some questions to it, rather than using it to generate code.
|
||||
That turned out to be a great idea, and led to the creation of this blog post.
|
||||
|
||||
## Writing English with Copilot
|
||||
|
||||
After using Copilot as an encyclopedia, I got an idea. What if I used GitHub
|
||||
Copilot to generate ideas?
|
||||
|
||||
{{< figure src="print-a-news-article" >}}
|
||||
|
||||
I decided to take it a step further and set the language to Markdown. I started
|
||||
writing out the basic structure of a blog post on my website and let it
|
||||
autocomplete.
|
||||
|
||||
{{< figure src="copilot-blog-post" >}}
|
||||
|
||||
I'm not quite sure who Kurt A. Smith is, why Copilot chose April Fools 2020 for
|
||||
the date, or why it was so adamant on writing a blog post about itself. What I
|
||||
do know is that I would be able to write a blog post. All I had to do was type a
|
||||
word or two, and Copilot turned it into a couple sentences.
|
||||
|
||||
## The finished product
|
||||
|
||||
The actual blog post written by Copilot is available [here]({{< ref "../copilot-post/" >}}).
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 25 KiB |
Reference in New Issue
Block a user