Pairing with AI

I recently needed to grab some old project files from my home backup server while I was at the office. I have an upcycled tower PC that serves 10TB of storage to my home network. It syncs most things to Dropbox, but there are a few folders that live only on this server. And of course, that’s what I needed to access remotely.

Typically, I make a note of what I need off the server, then next time I’m home, I sync folders across my work laptop and I’m good to go. But I really wanted to setup remote access so that if I’m in a pinch, I can still get in and copy out whatever files I might need.

ChatGPT instead of Google

I’ve setup OpenVPN in the past, but I remember having to read a lot of documentation about it. I vaguely remember TUN and TAP interfaces, so figured I would start there. Opening up a new Google search, I started typing out “difference between TUN and TAP interfaces” but stopped. This seemed like a good opportunity to play with ChatGPT some more.

Like most new technology, I feel left behind on things like GPT and LLMs. I’m encouraging myself to adopt it when it makes sense. And since this is me messing around with my home setup, it’s the perfect playground.

I haven’t had to best success with ChatGPT giving me programming solutions, but this seemed more like IT setup, and I really just wanted some quick pointers to refresh my memory. I started out by asking my question:

What is the difference between TUN and TAP interfaces?

In what seems like no time at all, I have a concise breakdown of TUN (Network TUNnel operating at layer 3) versus TAP (Network TAP operating at layer 2). It even prints out a handy table at the end to summarize the differences:

FeatureTUNTAP
OSI LayerLayer 3 (Network)Layer 2 (Data Link)
Packet TypeIP packets onlyEthernet frames
Use CasesVPN tunnels, routingBriding, VM networking
SimulatesPoint-to-point IP tunnelEthernet device (LAN)
Common VPNsOpenVPN, WireGuardOpenVPN

I have some familiarity with the OSI model and from previously setting up OpenVPN, so the information looks correct, but I haven’t tested anything yet.

The Conversation Continues

With Google, I’d find some blog or white paper describing the setup I want. I’d follow that page and adjust to my needs. But once Google deposits me on another site, I’m done using it unless I open a new tab and start a whole new search. ChatGPT excitedly offers, “Let me know if you want a visual diagram or real-world example with configs!”

I don’t want those things right now, I want to test! I install OpenVPN Connect on my work laptop, copy over the config, then tether to my phone’s hotspot (since I need to simulate being outside the home network). Everything seems to work! I launch PuTTY, connect to my backup server, and immediately notice typing commands is incredibly slow. I type somewhere around 80 WPM (maybe faster when I’ve had my coffee) and this was frustrating to use.

At this point, I would open that new Google tab and start the process over. But this time I thought, What if I continue the conversation with ChatGPT instead?

Typing commands in SSH is very slow over OpenVPN.  What can I do to make it faster?

ChatGPT spends another minuscule amount of time considering my question then comes back with some helpful things to check. It advises sticking with TUN for better performance but to try UDP instead of TCP. That helps a bit.

Anything special I should check if using OpenVPN over a phone hotspot?

ChatGPT points out that NAT or Carrier-Grade NAT might cause additional problems. It says using port 443 to mimic HTTPS traffic might get around some throttling the carrier might be doing too (and knowing Verizon, they’re very likely throttling). It even shares an example config that might work better over hotspots. Since I’ll mostly use this to copy files remotely at the office, tuning doesn’t seem necessary yet.

What I find interesting is how ChatGPT keeps a thread of the conversation going. It remembers:

  • I’m concerned about VPN performance
  • There’s a phone hotspot being used (sometimes)
  • SSH has some settings that may work better over spotty connections

So every time it gives me an answer, it prompts for more information to guide the discussion further. I’d say this is very similar to pair programming, where most of the value isn’t getting a direct answer to what you’re trying to solve; the ideas that flow during this conversation lead to places you didn’t anticipate. Similar to the early days of Wikipedia, you might visit for reference on one thing but quickly get sucked into reading articles on several other tangentially related topics.

Two Heads Are Better Than One

I had a prior conversation with ChatGPT that started with the same basic question, but that session went off into discussing particulars about my NAS setup instead. Just a slightly different wording caused the thread to focus more on tuning for file sharing. I also suggested a blog post I wrote years ago when I setup my Linux RAID because ChatGPT seemed interested in what my configuration was.

This seems to be the value of AI today: I can have a conversation with a program that is a jack of all trades. It knows just enough about most things to give me a nudge in the right direction. I’ve had coworkers like that: where a 15 minute conversation opens up new avenues to solving a problem. And sometimes, just talking through what the problem is helps to give structure to what data might be helpful to gather and what steps to try next.

I’ve tried journaling in Org Mode for the past 5 years, and I think it’s a great way to organize my own knowledge. But it’s hard to transfer that collection to someone else since it’s all structured the way I like it. Something like ChatGPT could be useful to organize/present that information in a more accessible way to other colleagues.

It Doesn’t Replace Hard Work

Do we need a computer program to solve our problems? I don’t think so, but it is definitely a tool that makes the process easier than going it alone. If I had to choose between asking ChatGPT and a colleague, I would still value the human insight more. But ChatGPT can be convenient because it doesn’t get annoyed if asked a new question every few minutes!

Unfortunately, I’ve seen a lot of laziness when it comes to colleagues using ChatGPT. They fire off a few questions, copy and paste the answers, and then pass it off as their own work. A recent performance evaluation I received was done this way, and it was insulting. It doesn’t take much effort to determine text written by an AI. It felt like I wasn’t worth the 30 minutes it would require to honestly fill out an evaluation.

I hope the uses for AI solidify into areas that are helped by a little collaboration. I really hope it doesn’t end up being the poor guy doing all the group project work (poorly) while everyone else slacks off.

And yes, I used an AI generated image for this article to emphasize that some tasks produce poor results that end in my frustration.

2 thoughts on “Pairing with AI”

  1. Copying a 4GB file from home to the office, speed is about 2.75 MB/s… so not great, but still faster than driving home, copying the file, then driving back!

    Like

Leave a comment