Future-proof your skills with Linux, Python, vim & git as I share with you the most timeless and love-worthy tools in tech through my two great projects that work great together.

Using Copilot to Help With Daily Journaling

I recently received a video from my boss about the potential of AIs in the future and was reminded of the opportunities and dangers that come with this technology. I decided to write in my journal about the potential of technology and my plans to stay ahead of the curve. I switched from Vim to NeoVim, enabled Copilot for markdown files, and tested out the new feature. I also discussed my plans to stream the breakthrough live on YouTube and shared my thoughts on SEO.

Exploring AIs and Staying Ahead of the Curve with Copilot

By Michael Levin

Wednesday, March 29, 2023

When someone generalizes about a whole population, they’re projecting things they think about themselves, because whole populations will abide by average distribution curves, meaning generalities must be qualified as such. They only apply to the center-line of distribution, which while may be valid misses the point because everything that matters happens off-center-line.

Beware the contradicarian.
They contradict everything said
To put the kibosh everywhere 'n then
Live scared to the day they are dead.

Just try not to be quite so contrary.
Give chances for the folks to try out
Their chops on what you think is scary
To see what they're saying's about.

I got Copilot installed in NeoVim yesterday. In fact, I switched from vim to NeoVim yesterday. That puts me in a subcategory of a subcategory.

Realizing how small a Venn Digram I’m in:

As I started typing Copilot as a hashtag, it recommended COPILOTx so I asked Bing what is GitHub Copilot vs COPILOTx.

GitHub Copilot is an AI-powered tool that assists developers in writing code by suggesting the next line of code in an integrated development environment (IDE) such as Visual Studio Code, NeoVim, and JetBrains IDEs. It is designed to understand more context than the usual code assistants and is created by OpenAI which had earlier released GPT-3, the world’s biggest NLP model (at the time of writing this article)¹.

GitHub Copilot X is currently a representation of GitHub’s vision for the future rather than an available product offering of GitHub Copilot. As they continue to design, test, and build features that fall into the GitHub Copilot X vision, they are also taking the time to determine the best way to provide them to their customers⁴.

I couldn’t find any information about “copilotx” specifically. Could you please provide more context or details about it?

Source: Conversation with Bing, 3/29/2023

(1) Who Writes Better Code: GitHub CoPilot or GPT-3?. https://python.plainenglish.io/who-writes-better-code-github-copilot-or-gpt-3-9e7441650c9b Accessed 3/29/2023.
(2) Introducing GitHub Copilot X · GitHub. https://github.com/features/preview/copilot-x Accessed 3/29/2023.
(3) GitHub Copilot vs. Amazon CodeWhisperer: Key Differences | ITPro Today .... https://www.itprotoday.com/development-techniques-and-management/github-copilot-vs-amazon-codewhisperer-what-developers-need Accessed 3/29/2023.
(4) GitHub Copilot gets a new ChatGPT-like assistant to help developers .... https://www.theverge.com/2023/3/22/23651456/github-copilot-x-gpt-4-code-chat-voice-support Accessed 3/29/2023.
(5) GitHub's Copilot goes beyond code completion, adds a chat mode and more .... https://techcrunch.com/2023/03/22/githubs-copilot-goes-beyond-code-completion-adds-a-chat-mode-and-more/ Accessed 3/29/2023.
(6) When will GitHub Copilot X be available and how much does it cost .... https://openaimaster.com/when-will-github-copilot-x-be-available/ Accessed 3/29/2023.

My boss of recent years reached out to me yesterday to share a video he thought I’d enjoy, and this is really heart-warming. I’ve worked for him for 7 years and he really looked out for me. I’m going to keep my eyes peeled for what I can do for him. The video is about bright visions of the future:

This video really gets to the point. People don’t realize quite how smart AIs really are going to be by the end of this decade. This draws a picture of rearranging deck chairs on the Titanic, and the fact that this even pops into my head after 50 years of SciFi reading says something about myself. There are dangers. There are opportunities and wonders, but also profound dangers. All that Elon talk about summoning demons is pretty spot-on.

If Arthur C. Clarke’s comment about sufficiently advanced technology being indistinguishable from magic doesn’t ring true today with the miracles of iPhones and stuff in consumer electronics, it’s going to ring quite true by 2030 or so when we are no longer the most intelligent and capable species on the planet. We will essentially be an older species co-habituating the planet with a meta or super-species that evolved from us, the way we evolved from beings that came before us.

There’s plenty of positive visions of this out there, such as The Culture Series by Iain M. Banks, and how the telepathic robots of Asimov’s world simply left Earth to inhabit the much larger Universe that was still inaccessible to fragile humans, while just leaving the humans alone. There’s lots of other positive images out there that we have to pattern on. The danger is that for every positive vision, there’s a negative one and which will win is a function of human behavior… probably right now, but certainly over the next decade.

Okay, this is my daily journal so I’m allowed to write about this sort of stuff. But the purpose of my daily journal is to tweak and steer my direction for good, consistent productivity and progress towards an envisioned future every day. The envisioned future is really an open-ended positive biased fuzzy boundary. I’m projecting a sort of fuzzy center-line that I’m targeting, but if my aim is off I’m still in the cloud of positive possibilities.

My child commented about me as always seeing the positive, almost in disgust. No, it was in disgust. There is disgust among the nihilistically indoctrinated YouTube youth. Perhaps one of my greatest missions and purposes in life is to help youth discover and follow a brighter path to a brighter future, because this shit is self-fulfilling.

On a personal level, I should change my own game by getting Copilot to work right here in my personal journal since I’ve gone through the work. This is where I can explore general knowledge, and maybe even do Python coding (even though it’s not a .py file) so that I can copy/paste from my journal as I think out loud to myself into Jupyter Notebooks.

I was criticised recently about my love for Jupyter Notebooks as if they weren’t something fundamental and societally changing. As if they weren’t the cure to the crisis of reproducibility in science, and as if they were something to be written off because most people will never give them a chance and don’t have time for them because… because what? Well, because of that aforementioned generality about the public being too busy, or perhaps even too stupid by implication. Busy is the new stupid.

Busy is the new stupid.
There's time to learn.
Without it, you won't grow.
Without growth, you'll fall behind.
So learn something new every day.
Do not be your own worst enemy.

I should do an explicit article on switching from vim to NeoVim to run Copilot. That could be a big content piece out there amongst a very tiny crowd, haha!

Tiny but influential. Don’t forget that the popularism arguments against your way of working is what keeps people scared of change and defending the status quo. This is not anything to be listened to or abided by. Imagine of OpenAI gave into the ridicule about working on the problem of General AI. We wouldn’t have GPT and we wouldn’t have the ChatBot revolution quite so soon, and certainly not so publicly.

So the first to priorities for today are:

Okay, I put my access request into the internal system for both Moz Pro and the Links API. I’m going to start using them both today at the free level. That’s a plate spun on the MOZ product access front. Now about copilot here…

How do you enable Copilot on markdown files in NeoVim?

:let g:copilot_enable_for_filetypes = ['markdown']

Is copilot active? Type something… not active.

:Copilot status


Copilot: Disabled for filetype=markdown by internal default

The default NeoVim configuration file is located at ~/.config/nvim/init.vim on Unix-based systems¹. On Windows systems, the configuration file is named init.vim and should be placed under directory ~/AppData/Local/nvim³. You can use the command :echo stdpath ('config') inside NeoVim to find the exact location of your configuration file⁴.

Source: Conversation with Bing, 3/29/2023

(1) NeoVim configuration for beginners | by Rio Nyx - Medium. https://medium.com/geekculture/NeoVim-configuration-for-beginners-b2116dbbde84 Accessed 3/29/2023.
(2) NeoVim: Relative config file (init.vim) location - Stack Overflow. https://stackoverflow.com/questions/59984505/NeoVim-relative-config-fileinit-vim-location Accessed 3/29/2023.
(3) NeoVim - Where is "~/.config/nvim/init.vim" on Windows? - Vi and Vim .... https://vi.stackexchange.com/questions/28020/where-is-config-nvim-init-vim-on-windows Accessed 3/29/2023.
(4) NeoVim configuration on Windows 10 - jdhao's digital space. https://jdhao.github.io/2018/11/15/NeoVim_configuration_windows/ Accessed 3/29/2023.
(5) ubuntu - How to change nvim path to .config - Stack Overflow. https://stackoverflow.com/questions/66866818/how-to-change-nvim-path-to-config Accessed 3/29/2023.

I was

Do I have copilot? Nope! I did a:

:source ~/.config/nvim/init.vim

…after adding the line:

let g:copilot_enable_for_filetypes = ['markdown']

…to my new .vimrc that NeoVim apparently made upon install, copying my old .vimrc as a starting point. That’s going to take some adjustment and adjustments. I have automatic backups built around update my ~/.vimrc and I’m going to have to switch it to the new file. Also it’s referenced in my /usr/local/sbin/all file so that it’s always loaded for editing to keep it nice and dynamic. Retooling… ugh! It’s not every day I switch off of vim.

Is Copilot active now?

How about now?

Yes! Copilot is now active in my daily journal here in NeoVim. Wow is this strange seeing typing suggestions in my journal. I’m going to have to get used to this, and I don’t know whether I’m going to keep it. It’s not an issue here in my public journal, but I don’t know if I want AI-generated writing suggestions in my actual personal journal. It was a real question whether I was even going to keep it on Github, but think of all the private secret proprietary programming code in Github private repos. Wow, what power Microsoft really has. Is anyone else doing this sort of thing or talking about it online?

What do you say you stream this breakthrough live? I’m going to do it. I’m going to stream this live on YouTube. I’m going to stream my first journal entry using copilot. Maybe I should expand my streaming activities to include Twitch. I started out streaming on Twitch but switched to YouTube when it’s streaming features became more robust. Also, YouTube is where my existing audience is.

Most of my work was proprietary in my previous role, but now I’m able to share a lot more about my methods and techniques in the rapidly evolving field of SEO. I saw a Tweet about a poll about SEO is… and the choices were things like “iterative”, but I answered “Other” and commented “An anomaly that lasted 25 years for lack of a better way”… to organize the world’s information.

The key difficulty in getting this going was when I added the lines necessary to enable Copilot in markdown files, I couldn’t use the source command to activate it:

:source /mnt/c/Users/mikle/.config/nvim/init.vim

And my the way, here’s the lines I edited in:

let g:copilot_enable_for_filetypes = ['markdown']
let g:copilot_filetypes = { 'markdown': v:true }

And now after a true restart, as per (this github article)[https://github.com/orgs/community/discussions/38074]

What does TTYL mean? TTYL means Talk To You Later. TTYL, Joseph!

So I’m updating my Github Pages 404.html file to my blog. That’ll get the blog out there in search a lot more.

I’m going to start using the Links API. I’m going to start using the Moz Pro.

Co-pilot reminded quite gloriously of my next steps. It’s helping keep focused and on-track.

Let’s clean up the practice directory under Pipulate. Or perhaps rename or rebrand the directory folder I’m going to work out of when I do Moz Jupyter tutorials. But first… a word about Jupyter history and environments.

We need a quick history of Jupyter so the audience has context, specifically quite how big and important Jupyter Notebooks have become to society and the world. They are of a fundamental tech nature, not so dissimilar to the very basic toolchain of Linux, Python, vim & git that I’m always advocating, but is way more accessible, and which is why they are so popular.

I’m having the longest Github Pages release ever. I updated the 404.html page which gets treated differently by the Jekyll static site generator, so that could account for it.

Let’s do a basic crawl of the Moz Links API pages. Get to know them very well. They are the most important API for SEO. I’m going to do a crawl of the Moz website in total eventually, but first some strategic crawls. Why not just use ScreamingFrog? Because when you know Python, that’s like using a moped on the highway.

My next project is a very meta-project, crawling the Moz site to get familiar with the Moz site, products, and in particular the Links API to which the pages I’m most interest’s ted in crawling are referring.