Codementor Events

AI: Automation, Actions and After-Effects

Published Jul 12, 2023
AI: Automation, Actions and After-Effects

Authored around alliteration..

AI has made a splash in a lot of realms around technology. One could say it’s the newest hype-cycle contest winner. What does that mean to my work? Well, I’ve got a process for exploring new tech in a way that’s more sustainable than the cannonball based plunge into the deep end that I used to do. I know I keep better notes now than I did then. In any case, here’s what I can report on what I’ve explored with AI so far.

Hype Cycles Polarize

I recently learned about a tool which could help automate boilerplate components of testing. Pythagora looks like it could be helpful in analyzing unfamiliar code. I’ve got a specific use case and a place where this tool could deliver value. I pose a question about Pythagora on the Node Slack, and the existence of the tool is met with skepticism, and discussions about how the way that one person has worked is the way that all folk should work. This came out of what I thought was a neutral question; “Has anyone been using Pythagora for Node Unit Tests? ;https://github.com/Pythagora-io/pythagora”.

I shouldn’t have been surprised. I’ve given responses to people’s requests that weren’t what was expected. It’s called discourse. At the same time, every conversation ain’t for everyone, and finding/enjoying people who can have these conversations is an important part of my craft as a technologist, I believe.

Are We There Yet? (No)

I’ve not yet encountered a tool that can replace steps in the process, but instead change the process. Using ChatGPT to flesh out parts of an e-book I’m working on with regards to Software Developer Habits, I found that my role changed from the sole creator of work to an editor who needed to ensure that tone and tense were “authentic”, as in “this is something I’d write.” I noted that while using ChatGPT for some cover letters, ChatGPT would use words like “thrilled”, “overjoyed” and “delighted” for jobs that didn’t bring forth that emotion from inside. ChatGPT’s enthusiasm seemed forced to me, and I would temper those verbs where it made sense to me (side note; do such verbs make a difference in cover letters? My biases led me to a search which returned this FastCompany article, but that’s one search result from one search).

Long story short; I wouldn’t use ChatGPT results at trial, allow AI to console someone unsupervised with mental health issues, or use it in a lot of other circumstances. Part of my exploration of this is buttressed by the reality that, regardless of my position, AI will be misused. Greedy people are encouraging individuals to give up more of their autonomy by continuing to use tools for a cost that reduce the amount of intent and thought people put into their day. Where AI fits for me is still in flux, but I’m not going to pretend that the people making this software don’t have their own biases (no links needed here).

AI Is Not Necessarily New

While I’ve tried to outline/analyze ways in which AI can help, I’ve also not recognized where I’ve been using AI for years. Gartner has a 2019 AI Hype Cycle document that describes how humans and AI agents can collaborate. During that time, I’ve been using Tabnine as a code completer and I’ve integrated it into both VS Code as well as Jetbrainsproducts, and it’s been helpful over time & projects. It sometimes gets in the way, adding code I had no intention of introducing. It also reminds me of something I may be missing, like validations on an ActiveRecord::Base model. I’ve not yet compared Tabnine to Copilot; that’ll be for a future post. While there are companies that will attempt to pivot to AI or bolt it onto their product, I don’t think that appellation applies to Tabnine, and do plan to include who’s making & using these tools a part of an evaluation matrix.

Automation Without AI

tumblr_3375bf47926a2e4cddeda621f2752795_ff371831_500.png

Speaking of shell scripts…

alias gbdd=“git\_branch\_delete\_delete”git\_branch\_delete\_delete() {**

git branch -D $1; git push origin :$1 

This is a lil’ something that I’m using to clean up my GitHub branches and repos. I’ve got a few other useful tools and tricks I’ll be including in these moving forward. If there’s an easier way to do these things, let a brother know.

Meanwhile, in order to figure out that I needed that function, I needed to analyze my history and find commands to optimize by aliasing, creating functions or write glue code. Next week, I’ll include a script that automates uploading screenshots to be visible.

I’ll also look to add ask_chatgpt to see how this could positively impact my Rails development. I’ll try each of the use cases on like an outfit and determine which of these fits my current dress code. I’ll make sure I understand whatever code is created, and use my experience to modify as needed. While others have reported breathtaking results, I prefer to keep breathing and calculate this impact as it transpires.

Discover and read more posts from Mark Nyon
get started
post commentsBe the first to share your opinion
Show more replies