I am of the opinion in this heavy information age, we have stopped thinking of internet as a productivity tool, but more of as a cure to boredom. 30 years back you were a pioneer if you used internet daily but today you will be a one of many billions. If there was any advantage of using internet it already has been reaped in last 30 years. Now we are just scrapping the bottom of the barrel.
I was having a discussion with ChatGPT about development difficulties in a micro services architecture. It helped me arrive at a possible improvement using dependency injection functions like get_sentry and get_mongo that can return a MagicMock instance of the respective runtime dependency by checking a RUN_MODE environment variable. The idea solves an immediate need to allow me to bootstrap the application to a minimum functional state in a CI or pre-commit environment. We can also expand on the idea by defining RUN_MODE behaviours for development, staging, and production environments with various gRPC stubs and service mocks in some environments.
I’ve also had a great experience using ChatGPT and GitHub Copilot assist me in writing unit tests for a Dango/WagtailCMS website project. ChatGPT particularly knows some subtle nuances of the Django and Wagtail APIs. It has been like having a personal tutor. Copilot then picks up on unit test patterns to write tests based on comment prompts or function names. In some cases, Copilot is suggesting test cases that I didn’t even think of simply by pausing my cursor on a blank line.
I’ve been live streaming my open source development using these tools, in case anyone would like to see how they are making me a better developer.
ChatGPT is pretty good at writing simple regexes and bash as well. Basically common things that you want really quickly but can never remember the syntax for.
I use aider[1], python tool for coding after learning about it from the author that posted it on here some months ago. It works well in the design phase and early parts of projects. Lately I haven’t been using it as much, unfortunately, because I have been working heavily on a library that was released after 2021 and it’s not as immediately helpful a lot of the time.
After trying many other tools on Windows, I found them either too bloated or too rigid. So instead, I built my own tool using AutoHotkey. The end result is a single binary that's less than 1MB in size. I can define my own prompts in a simple INI file and invoke those prompts anywhere.
None, because I am not a productivity-obsessed drone. From what I've tried, Github Copilot is pretty good, but it's often more disruptive than helpful, therefore I do not use it on a daily basis.
I actually use the OpenAI playground most of the time, both for coding and for asking questions. It's a bit less chatty without me having to engineer the prompt as much. It also allows me to edit assistant responses so that future prompts are based on corrections.
I am not going to renew my GitHub CoPilot as ChatGPT subscription delivers more value. I am probably going to write a VSCode plugin for my specific environment.
GPT-4 via ChatGPT, mostly for coding and GPT-4 via https://flowch.ai (our tool) for anything that involves my own data (including my own code), or where I want automation, such as running a prompt on many pieces of data.
Overall this has at least 5x my productivity, possibly 10x.
There's nothing for my job that I can use it for. I am a programmer. I have been doing it for over a decade now. The majority of my job is spent in existing codebases. So, using ChatGPT or copilot actually gets in my way. Most of the time the job is simple enough I don't need it. It's more of an exercise is not letting boredom win. When it's more complicated I still don't need it because the structure and purpose of the code, how it fits into the existing code, and what exactly I want it to do is something ChatGPT can't help me with. At my experience level syntax, algorithms, and patterns are stored in the L1 cache I call my brain. When I need a reminder of something obscure its still faster for me to grok documents (because I know where to look) than it is to ask ChatGPT for a contrived example.
It might be nice for generating boilerplate or helping a junior developer get up to speed faster. I won't pay for any AI tools. There has been no situation so far where I've had to scratch my head for so long that it would've been easier to do with ChatGPT. Unfortunately, the life of a programmer is mostly boring with short periods of absolute chaos. Honestly, I wish I had a job that created interesting hard problems where ChatGPT meaningfully contributes to my work.
"I don't." Gotta make sure we know how cool and trend-bucking you are in a thread asking those who do use them. It's like going into a Mac thread and letting us know you don't use Apple stuff. That super neato for you, but it's not particularly helpful.
If I’m considering making a tool for a particular community and they tell me they’re not interested in it, that’s more than just helpful for me to know.
And my reasoning could be a strange one. My knowledge of mathematics (esp. probability and statistics) and algorithms, and my memory used to be pretty sharp. I could retain a lot of information, and perform fast manual calculations using log book. All that started to deteriorate when I started relying on search engines for everything. No doubt it was convenient, but I lost touch with foundational concepts. My memory and speed are not what they used to be.
So as long as I can. I’m going to keep co-pilots and ai/tools at bay.
ChatGPT (4) is great to get ideas for programming problems. As far as actual usable code, it's hit and miss, usually not quite right. But especially for things like CSS or anything I have not used much, it definitely helps me at least get started or explore approaches to problems.
I put something like "tree of thoughts" in my Custom Instructions setting and now it holds little meetings with itself before finalizing code suggestions. Don't have the prompt on my phone but search for "Lucidate tree of thoughts" on YouTube and then modify that slightly for software engineering.
CodiumAI [0], helps me generate meaningful test suites and code suggestions.
This is exactly what I need to enable me to code fast with confidence.
Really, just try it, and let me know if you are not positively surprised.
[0] https://codium.ai/
I use Chat GPT basically in lieu of google for programming questions now, with the caveat that you need to check its work. It's good at skimming through documentation, but I don't trust it to really write code. For newer things I use bing chat since it has access to more current information.
The AI tool that I currently use the most is ChatGPT, which helps me systematically organize complex results from multiple Google searches. Much of my work involves text editing, so I am truly looking forward to an AI all-in-one reading and writing tool.
41 comments
[ 3.6 ms ] story [ 109 ms ] threadTo empower thinking in this information overload era, turn off your computer and start writing on paper
I’ve also had a great experience using ChatGPT and GitHub Copilot assist me in writing unit tests for a Dango/WagtailCMS website project. ChatGPT particularly knows some subtle nuances of the Django and Wagtail APIs. It has been like having a personal tutor. Copilot then picks up on unit test patterns to write tests based on comment prompts or function names. In some cases, Copilot is suggesting test cases that I didn’t even think of simply by pausing my cursor on a blank line.
I’ve been live streaming my open source development using these tools, in case anyone would like to see how they are making me a better developer.
https://youtube.com/@brylie
https://github.com/paul-gauthier/aider
https://github.com/overflowy/chat-key
It’s like vanilla GPT-4 but provides references.
[1] perplexity.ai
I use Copilot when I'm coding.
ChatGPT can give you quick answers better than SEO-infested search results.
This preserves your energy for any purpose you see fit, not just productivity.
Overall this has at least 5x my productivity, possibly 10x.
There's nothing for my job that I can use it for. I am a programmer. I have been doing it for over a decade now. The majority of my job is spent in existing codebases. So, using ChatGPT or copilot actually gets in my way. Most of the time the job is simple enough I don't need it. It's more of an exercise is not letting boredom win. When it's more complicated I still don't need it because the structure and purpose of the code, how it fits into the existing code, and what exactly I want it to do is something ChatGPT can't help me with. At my experience level syntax, algorithms, and patterns are stored in the L1 cache I call my brain. When I need a reminder of something obscure its still faster for me to grok documents (because I know where to look) than it is to ask ChatGPT for a contrived example.
It might be nice for generating boilerplate or helping a junior developer get up to speed faster. I won't pay for any AI tools. There has been no situation so far where I've had to scratch my head for so long that it would've been easier to do with ChatGPT. Unfortunately, the life of a programmer is mostly boring with short periods of absolute chaos. Honestly, I wish I had a job that created interesting hard problems where ChatGPT meaningfully contributes to my work.
And my reasoning could be a strange one. My knowledge of mathematics (esp. probability and statistics) and algorithms, and my memory used to be pretty sharp. I could retain a lot of information, and perform fast manual calculations using log book. All that started to deteriorate when I started relying on search engines for everything. No doubt it was convenient, but I lost touch with foundational concepts. My memory and speed are not what they used to be.
So as long as I can. I’m going to keep co-pilots and ai/tools at bay.
I put something like "tree of thoughts" in my Custom Instructions setting and now it holds little meetings with itself before finalizing code suggestions. Don't have the prompt on my phone but search for "Lucidate tree of thoughts" on YouTube and then modify that slightly for software engineering.