The Coding Sloth thumbnail

📝 The Coding Sloth Blog

10 Programming Mistakes That’ll Ruin Your Life (And How to Avoid Them)

Programming is an exciting journey filled with endless learning opportunities, but it’s also easy to fall into common traps that can slow your progress or even derail your efforts. Whether you’re a beginner or have some coding experience, avoiding these pitfalls will make you a better, more confident programmer. Here are ten programming mistakes you should steer clear of, along with actionable advice to help you grow.


1. Skipping the Fundamentals

It might sound boring, but mastering the basics like variables, loops, and functions is essential. Skipping these fundamentals and jumping straight into advanced topics or copying-and-pasting code from AI tools without understanding it will leave you lost when things break. This not only hampers your learning but can also hurt your job prospects, especially during technical interviews where explaining simple concepts matters.

Tip: Embrace the fundamentals. They might not be glamorous, but they build the foundation for everything else.


2. Writing Clever Code Over Readable Code

One-liner Python solutions and overly clever tricks may look impressive in forums, but writing code that’s hard to read or understand can be a disaster in real projects or interviews. If your code requires a long explanation or feels like solving a crossword puzzle, it’s probably too clever.

Tip: Prioritize readability and maintainability unless you have a strong performance reason not to. Clear code helps you and others understand and debug it easily.


3. Being Afraid to Break Things

Fear of breaking your code is common, especially when starting out. But experimenting by “breaking” features and refactoring helps you learn faster. Remember, if your project isn’t live with users, mistakes don’t have real consequences. Always use version control tools like Git to safeguard your code and experiment confidently.

Tip: Learn Git and use branches to try new ideas without risk. Don’t fear failure—embrace it as a learning step.


4. Overengineering Your Projects

It’s tempting to build complex systems with microservices, multiple databases, and message queues just because big companies do it. But remember, these architectures evolved over years to solve real problems at scale and require teams of experts. For personal projects, this is usually unnecessary overkill.

Tip: Keep it simple. Build only what you need. Save fancy designs for system design interviews or once you have more experience.


5. Forgetting That Users Are Not Developers

As programmers, it’s easy to assume everyone understands tech like we do. But real users often struggle with interfaces you think are intuitive. Your “simple” hamburger menu might confuse your grandma!

Tip: Design with empathy. Test your apps on real users who aren’t tech-savvy and iterate based on their feedback.


6. Starting Too Big

Big ideas are exciting but starting with an all-encompassing project often leads to burnout and abandonment. Trying to build a productivity app with every feature imaginable before finishing anything can stall you.

Tip: Start small. Focus on building one feature well. Use the Minimum Viable Product (MVP) approach—build the simplest version that works, then add features gradually.


7. No Comments or Documentation

Assuming you’ll remember what your code does or that the code itself is enough documentation is a common lie programmers tell themselves. Without proper comments and README files, your future self or collaborators will struggle to understand your code.

Tip: Write comments explaining why you did something, not just what you did. Maintain a clear README so others can quickly grasp your project.


8. Reinventing the Wheel

Building everything from scratch might sound like a good learning exercise, but most problems already have battle-tested solutions out there. Trying to create your own authentication system or library without a strong reason wastes time.

Tip: Use existing libraries and tools unless you have a specific edge case or want to learn how something works deeply.


9. Comparing Yourself to Other Programmers

It’s easy to feel inadequate when scrolling through social media filled with success stories of young prodigies or overnight startups. Remember, you’re seeing their highlight reel, not the countless hours of struggle behind it.

Tip: Focus on your own progress. Compare yourself to who you were three months ago, not to others.


10. Shiny Object Syndrome

Jumping from one new technology or project to another without finishing anything is a recipe for frustration. Having many unfinished projects and no deep expertise in any technology signals this problem.

Tip: Pick one thing and commit to it. Finish projects before moving on to new shiny tech.


Bonus: Upgrade Your Email Experience with Notion Mail

Managing emails can be overwhelming, especially when important messages get lost in the clutter. Notion Mail offers automated inbox organization, AI-assisted email writing, and easy scheduling by connecting your existing Gmail account. It’s a great tool to help you stay productive and focused on what matters.


Final Thoughts

Programming is a marathon, not a sprint. Avoiding these common mistakes will help you build strong foundations, write maintainable code, and progress steadily without burnout or frustration. Remember: learning is a journey filled with experimentation, patience, and continuous improvement.

If you want more bite-sized programming tips, consider subscribing to newsletters like Sloth Bites to keep your skills sharp and your motivation high.

Happy coding!

Understanding AI Agents: The Future of Autonomous AI Systems

Artificial Intelligence (AI) has been making waves across various industries, and one of the most exciting advancements in this field is the rise of AI agents. If you've ever dreamed of having your own Jarvis like in Iron Man, AI agents are the closest reality we have today—well, maybe more like a Teimu Jarvis, a clever Bluetooth device with a mind of its own. In this post, we'll break down what AI agents are, how they work, their types, and how you can start building your own.


What Are AI Agents?

At their core, AI agents are AI systems that can reason, plan, and act continuously in a loop until they complete a specific goal. Unlike traditional AI models that respond with a single output based on input, AI agents can independently make decisions, adjust their actions based on new information, and use tools to achieve complex tasks.

What AI Agents Are Not

  • They are not secret agents or spies.
  • We’re focusing on LLM (Large Language Model) agents, not reinforcement learning agents which involve more complex math and training processes.
  • They are more than just chatbots; they actively use tools and memory to function autonomously.

From Simple AI to Autonomous Agents

Let’s look at the progression:

  • Non-agentic AI: Traditional LLM behavior. You ask a question, and it responds based on training data. No planning or tool usage.

  • AI Workflow: The AI can use tools but follows a fixed set of instructions. It can’t decide what to do next on its own.

  • AI Agent: The AI plans dynamically, adapts to new information, and loops through actions until the goal is achieved. For example, an AI agent can check the weather, notice you’re on vacation, recommend a jacket, and even suggest a cheaper option if you're short on cash—all without being explicitly told to do each step.


Key Components of an AI Agent

An AI agent typically consists of four main parts:

  1. The Model: The brain behind the agent. Depending on the task complexity, you can choose smaller, faster models or larger, more powerful ones.

  2. The Tools: These empower the agent to perform tasks beyond just generating text. Tools can include APIs for web search, database access, image generation (e.g., using ReCraft), sending emails, and more.

  3. The Memory: AI agents use both short-term memory (like conversation history) and long-term memory (important facts saved for future use) to stay context-aware and improve over time.

  4. The Instructions: Also known as prompt engineering, these are the guidelines that define the agent’s role, goals, success criteria, available tools, and response style.


Types of AI Agents

AI agents can be designed in various architectures depending on the use case:

  1. Single Agent: One agent handles the entire task. Simple and effective for many projects.

  2. Multi-Agent Crews: A team of specialized agents (e.g., researcher, planner, builder) working collaboratively.

  3. Sequential Workflow: Tasks are handed off step-by-step among agents, like a relay race. Good for fixed processes but not very flexible.

  4. Hierarchical Systems: A manager agent assigns tasks to worker agents, overseeing the big picture while workers handle details.

  5. Parallel Agents: Multiple agents work simultaneously on different tasks, making the process faster and often cheaper.

  6. Hybrid Systems: A complex mix of sequential, hierarchical, and parallel systems to leverage the strengths of each architecture.


How to Build Your Own AI Agent

Thanks to the proliferation of tools and SDKs, building AI agents is more accessible than ever:

  • No-code platforms: Tools like Flowwise, Make, and Nan allow you to create agents without heavy programming.

  • Developer SDKs and Libraries: For programmers who love to code, options include Langchain, Autogen, Crew AI, Google’s Agent SDK, OpenAI’s Agent SDK, and Cloudflare’s Agent SDK.

Building an AI agent is like stacking Lego blocks—select your model, equip it with tools, set instructions, and let it operate autonomously. You can start simple and scale up to complex autonomous systems as you gain experience.


Why Use AI Agents?

AI agents can automate complex workflows, enhance creativity (such as generating images with tools like ReCraft), improve productivity, and open new possibilities for innovation. They represent a major leap toward truly autonomous AI systems that require minimal human intervention.


Final Thoughts

AI agents are still in their early days, but their potential is enormous. Whether you're a programmer eager to build sophisticated systems or someone curious about AI’s future, understanding AI agents is essential.

If you want to dive deeper, explore technical details, or get hands-on code examples, consider subscribing to resources like the Sloth Bites newsletter, which offers free notes and programming advice.


Bonus: Try ReCraft for Creative Visuals

As a side note, if you want to explore creative tools alongside AI agents, check out ReCraft. It offers powerful image generation and editing capabilities with an extensive style library and API access—perfect for programmers and creators alike. Use promo code sloth11 for $1 off any paid plan!


Your Next Step

Ready to start building? Experiment with AI agent SDKs, explore different architectures, and let your AI agent think and act autonomously. The future of AI is agentic—don’t get left behind!


Have questions or want a tutorial on programming AI agents? Drop a comment below or subscribe to stay updated!

How to Use AI to Become a Smarter, Faster Programmer: A Practical Guide

AI is no longer a futuristic concept—it's here, and it's already transforming programming. Whether you love it or fear it, AI tools are reshaping how developers write code, debug, and build software. But are AI coding assistants a threat to your skills? Are they making programmers lazy? Or are they, in fact, powerful allies that can boost productivity and learning?

In this post, we'll explore how to use AI thoughtfully in programming, balancing learning with efficiency, and share practical strategies to collaborate with AI tools effectively—based on insights from a developer's experience using Windsurf, a cutting-edge AI code editor.


The Reality of AI in Programming

AI is rapidly becoming embedded in development workflows. Companies are adopting it to speed up coding, and developers who ignore AI risk falling behind. However, AI coding tools are often misunderstood. Some fear they might replace programmers or harm their skills. The truth is more nuanced.

AI is not a magic bullet that will solve all coding problems or replace the need to understand programming fundamentals—at least, not yet. Instead, the smartest developers treat AI like a helpful but imperfect assistant: an unpaid intern who can boost productivity but still requires oversight and management.

The key is to use AI selectively and strategically, not to hand over your entire coding brain to it.


The Three Levels of AI Support for Developers

To avoid overreliance on AI and keep your problem-solving skills sharp, think of AI assistance as a tiered system with three levels, depending on your familiarity with the task at hand.

Level 1: AI as a Tutor

When you're learning a new language, framework, or debugging unfamiliar code, use AI as a tutor—not a code generator. Here’s how:

  • Turn off autocomplete. This forces you to type and think through the code yourself rather than having AI finish it for you.
  • Use chat mode. Ask AI to explain concepts, leave comments, reference documentation, or provide examples—but avoid having it write complete code for you.
  • Leverage built-in chat features in IDEs like Windsurf. These integrate AI directly into your coding environment, making it easier to ask questions without switching apps. Plus, Windsurf can analyze your project files and documentation, offering more accurate help.
  • Use specialized prompts to avoid getting spoon-fed answers. For example, set up a prompt file that instructs the AI to act as a guiding tutor who asks questions to deepen your understanding rather than just giving answers.

This approach saves you time on research without sacrificing learning. You're still actively coding and problem-solving, with AI providing hints and explanations.


Level 2: AI as an Assistant

Once you're comfortable with a project or technology, AI can shift to assistant mode:

  • Turn autocomplete back on. Use it to generate boilerplate code, rename variables, create tests, fix typos, and leave comments.
  • Use chat mode for code reviews and improvements. Ask AI how to optimize or organize your code without letting it write large chunks for you.
  • Avoid over-reliance. If autocomplete starts generating code you don’t understand, step back to Level 1 to reinforce your learning.

Autocomplete is one of the most productivity-boosting features AI offers. It helps you stay in flow, speeding up repetitive tasks and letting you focus on complex logic. Best of all, in tools like Windsurf, this feature is free.


Level 3: AI as an Agent

For more complex or tedious tasks, or when you're stuck or tired, you can use AI as an agent—let it take more control:

  • Delegate bigger chunks of work. Provide design notes or screenshots and let AI generate code or entire features.
  • Manage and review AI output. You’re a manager here—review, tweak, and test AI-generated code carefully.
  • Use advanced features like memories or custom rules (available in some AI tools) to improve AI performance over time.

This level is like having a junior developer that can handle grunt work while you focus on high-level design and problem-solving. But remember, AI can be overconfident and make mistakes, so your oversight remains crucial.


Key Takeaways for Using AI in Programming

  • Don't see AI as a replacement but as a tool to augment your skills. It can speed up your work by even 5% without diminishing your abilities.
  • Balance AI assistance with active learning. Use tutor mode when learning, assistant mode for productivity, and agent mode for delegation.
  • Use AI tools with flexibility. Turn features on or off based on your needs.
  • Stay in control. Always review AI-generated code and understand what you’re building.
  • Try thoughtful tools like Windsurf. This code editor offers integrated chat, autocomplete, and an AI agent called Cascade—all designed to enhance your workflow without overwhelming you.

Final Thoughts

AI in programming is here to stay. The best developers don’t fear AI—they adapt, learn how to collaborate with it, and use it to their advantage. By approaching AI with a balanced mindset and using it in tiered ways, you can become a smarter, faster programmer without losing your problem-solving edge.

If you want to stay updated on practical programming tips and AI tools, consider subscribing to newsletters like Sloth Bites, which provide succinct, actionable tech insights.

Ready to see how AI can help you code better? Give Windsurf a try and start experimenting with these three levels of AI support today.


Happy coding with your new AI assistant!

Scientifically Proven Study Techniques to Boost Your Memory and Productivity

Studying effectively and retaining information can often feel like an uphill battle, especially when distractions are everywhere. But what if you could learn smarter, not harder, by understanding how your brain works and using proven techniques? In this post, we'll explore scientifically backed ways to study better, remember more, and introduce you to an incredible AI-powered tool that makes the process effortless.


Understanding How Memory Works: The Basics

Before diving into study techniques, it's essential to understand how your memory functions. Your brain processes memories in three stages:

  1. Encoding – Taking in the information.
  2. Storage – Holding onto the information.
  3. Retrieval – Accessing the information when needed.

There are three types of memory:

  • Sensory Memory – Briefly holds sensory information.
  • Short-Term Memory – Holds information for a few seconds to minutes.
  • Long-Term Memory – Stores information for days, years, or even a lifetime.

For studying, the goal is to transfer information to your long-term memory and strengthen it through repetition, emotional connection, and deeper understanding.


Technique 1: Chunking – Break Information into Bite-Sized Pieces

Your brain can only hold about 7 ± 2 chunks of information in short-term memory at once (a concept known as Miller’s Law). Chunking means grouping related information into meaningful units or "chunks" which makes it easier to remember.

For example, instead of memorizing a list of eight programming concepts individually, group them into related categories. This reduces the number of chunks your brain has to process and improves recall.

Pro Tip: Use tools like Recall to automatically chunk and categorize your notes. Recall uses AI to summarize videos, articles, and research papers into neat chunks, tag them for easy access, and create interconnected notes, saving you the hassle of manual note-taking.


Technique 2: Active Recall – Train Your Brain Like a Muscle

Passive studying (like rereading notes repeatedly) isn’t effective. Active recall involves testing yourself by retrieving information from memory, which strengthens your neural connections.

Flashcards are a classic active recall tool. One side has a question, and the other side has the answer. Try to answer the question before flipping the card to check if you were correct.

Creating hundreds of flashcards can be tedious, but Recall automates this by generating flashcards from your notes with just a click. You can also edit flashcards to customize your study sessions.


Technique 3: Spaced Repetition – Review Information at Intervals

The forgetting curve tells us that we forget around 50% of new information within an hour, 70% within 24 hours, and 90% after a week if we don’t review it.

Spaced repetition combats this by scheduling reviews at increasing intervals: 1 day, 3 days, 1 week, 1 month, 2 months, etc. This technique tells your brain, "This info is important; remember it!"

Combine spaced repetition with active recall by reviewing flashcards on this schedule. Recall has built-in spaced repetition features and even an augmented browsing mode that highlights terms you’ve studied while you browse online, allowing you to review notes contextually.


Technique 4: The Feynman Technique – Explain to Understand

Named after Nobel Prize-winning physicist Richard Feynman, this technique involves explaining a concept in simple terms as if teaching someone else. The steps are:

  1. Choose a concept.
  2. Explain it in simple language.
  3. Identify gaps where you struggle.
  4. Simplify and use analogies.
  5. Repeat until you can explain it clearly.

If you find explaining difficult or embarrassing, use AI tools like Recall’s chat feature to test your understanding. You can submit your explanations to AI, which will critique and question you, acting like a patient, non-judgmental tutor.


Why Use Recall? Your Ultimate Study Assistant

Recall isn’t just another note-taking app. It’s an AI-powered productivity tool that:

  • Automatically summarizes long videos, articles, and research papers.
  • Chunks and tags your notes for easier navigation.
  • Generates flashcards for active recall.
  • Implements spaced repetition to optimize review timing.
  • Provides an augmented browsing experience for contextual note review.
  • Offers AI chat support for Q&A and Feynman technique practice.

You don’t need to do all the heavy lifting—Recall does it for you, making studying more efficient and less overwhelming.


Final Thoughts

These four techniques—chunking, active recall, spaced repetition, and the Feynman technique—are scientifically validated methods to study smarter. And with tools like Recall, you can automate much of the process, saving time and boosting your learning power.

So, stop scrolling through TikTok and start making your brain work smarter, not harder. Give Recall a try at getrecall.ai and use the code sloth25 for 25% off until May 1st, 2025.

Remember: The best study technique is the one you actually use. Let Recall do the work, and watch your productivity and memory soar!


Happy studying!

Creating Word Tua: A Brain-Rot Twist on Wordle

If you're like many of us, you’ve probably spent some time playing Wordle — the addictive word-guessing game that took the internet by storm. But, if you’re anything like me, you might also find yourself frustrated with its sometimes obscure vocabulary and the mental effort it demands. What if there was a version of Wordle designed solely for “brain rot” — the kind of fun, silly, and cringe-worthy words that are more about entertainment than education?

Well, that’s exactly what I set out to create. In this post, I’ll walk you through my journey of building Word Tua, a brain-rot-themed Wordle clone that’s as goofy as it is addictive.


Why Build Another Wordle?

Wordle is simple yet engaging: six guesses to find a five-letter word, with color-coded feedback to guide your guesses. However, the game has evolved into a kind of brain nourishment — learning new words, expanding your vocabulary, and sometimes feeling like homework.

But on the internet, sometimes what we really want is brain rot — lighthearted, meme-worthy content that’s fun without the pressure.

So, I had an idea: why not create my own Wordle, but with only brain rot words? And to make it more interesting, I challenged myself to build it in an hour.


Step 1: Understanding the Rules

The original Wordle rules are straightforward:

  • Guess a five-letter word in six attempts.
  • Letters turn green if correctly placed.
  • Yellow means the letter is in the word but wrong place.
  • Gray means the letter isn’t in the word at all.

For Word Tua, I kept these basics but allowed some twists later on.


Step 2: Programming the Game

I chose to use React with Vite for this project, even though this game could be done without any frameworks. Why React? Because:

  • It could evolve into a library of brain rot games.
  • It was a good opportunity to refresh my React skills.

Using the command npm create vite@latest with a React template, I quickly scaffolded the project.

Next, I tested AI to generate Wordle code automatically. Surprisingly, AI produced a working Wordle clone in under 10 minutes! That said, it was rough around the edges:

  • No smooth animations.
  • No restriction on valid guess words.
  • Keyboard feedback missing.
  • Boring win/loss screens.

But hey, this was a starting point.


Step 3: Adding Brain Rot Words

The heart of Word Tua is its word list — full of internet slang, meme words, and pop culture phrases. I found existing “brain rot” word lists online, formatted them with definitions, and stored them in a JSON file.

Examples include:

  • Glaze: To hype or praise someone to a cringe-worthy extent.
  • Gagged: Shocked or amazed.
  • Riz: Charisma or flirting ability (Oxford Word of the Year 2023!).

I also removed the five-letter word limit and added support for multi-word phrases with spaces, making the game more flexible and fun.


Step 4: Enhancing the Experience

To improve animations, I used the Framer Motion library, as my CSS skills are limited. Although AI helped generate animation code — a process I dubbed “vibe coding” — some glitches remained, so I manually fixed what I could.

I added:

  • Dark mode support.
  • Definitions displayed after each word guess to help players learn the slang.
  • No daily play limit – because brain rot should be unlimited!

Step 5: Naming the Game

No game is complete without a catchy name. I asked my Discord community for suggestions, and Word Tua was born — a perfect blend of cringe and charm, just like the game itself.


What’s Next for Word Tua?

The game is playable now and open source on GitHub. But I’m still working on:

  • Adding more words.
  • Improving animations and UI.
  • Fixing bugs.

I welcome contributions from anyone who wants to help make Word Tua the ultimate brain rot Wordle experience.


Want to Learn Coding and Build Your Own Games?

If this inspired you to dive into programming, check out Brilliant, a learning platform designed to teach coding and problem-solving through interactive lessons. Their courses cover Python, programming fundamentals, and more — perfect for beginners and those looking to level up.

You can try Brilliant free for 30 days at brilliant.org/thecodingsloth and get 20% off an annual subscription.


Play Word Tua Today!

Ready to get your brain rot on? Try Word Tua now via the link below — and if you want to help improve the game or add your own brain rot words, the source code is available for you to contribute.

Play Word Tua here: [Link to game]

Let’s make Word Tua a fun, silly, and addictive alternative to Wordle — because sometimes, we all need a little brain rot.


Thanks for reading, and happy guessing!

— Sloth

Things I Hate About Programming: A Newbie’s Honest Take

Programming is a journey filled with excitement and frustration, especially when you’re just starting out. As a newcomer to the coding world, I’ve already encountered some challenges that I hope will improve with experience. But from what I’ve gathered from seasoned developers, some of these issues might actually get worse before they get better. Here are some of the things I hate about programming — and trust me, you might relate.

1. Documentation: A Love-Hate Relationship

Documentation is like caffeine for developers — you hate it, but you need it to function. Good documentation can make you feel like a genius by guiding you step-by-step through complex processes. I appreciate clear documentation like that found in projects such as Oh Camel, Rust, Stripe, and Vue. To all you contributors who help write great docs: developers love you and rely on you more than you know!

Unfortunately, not all documentation is created equal. There are “documentations of agony and despair” — outdated, confusing, or just comments in code that leave you scratching your head. Google’s Gmail API documentation is a prime example. Despite being from a tech giant worth over $2 trillion, their docs can be frustratingly incomplete and poorly organized. For instance, their quick start guide mixes sign-in code with Gmail usage without clear, logical steps. And when you look for code examples in your preferred language, sometimes they don’t even exist!

2. Debugging: The Console.log Chronicles

Debugging often feels like proof that you wrote terrible code in the first place. For many of us, debugging starts with a flurry of console.log or print statements scattered around the code to figure out what’s going wrong. Breakpoints and advanced debugging tools are great, but for smaller projects or scripting languages like Python or JavaScript, logging is the go-to method.

What’s worse are the cryptic error messages that programming languages sometimes throw at you. Instead of helpful guidance, you get messages that might as well say, “Good luck!”

3. Bug Reports: The Mystery of the Vague Complaint

If you ever put your project out there for others to use, you’ll quickly learn the pain of vague bug reports. “Website’s broken” — that’s it. No details, no steps to reproduce, no context. It’s like going to a doctor and saying “I don’t feel good” without any symptoms.

Wouldn’t it be amazing if bug reporting was easier? Imagine a tool that records a video of the bug, captures console logs, network requests, and user actions, and even helps write a clear bug report using AI. Well, that tool exists! It’s called Jam — a browser extension that captures everything a developer needs to fix a bug and integrates with popular tools like Jira, GitHub, and Slack. Jam even suggests potential fixes based on the collected data. If you’re tired of chasing vague bug reports, you should definitely check it out.

4. Inconsistent Naming Conventions

One thing I didn’t expect to struggle with was naming conventions. File names, variable names, function names — they can all be overcomplicated by inconsistent styles. Different programming languages prefer different conventions: camelCase, snake_case, kebab-case, PascalCase, and more. Sometimes it feels like there’s no universal rulebook, just strong opinions.

Even resources like FreeCodeCamp show multiple naming styles, and it’s up to you to figure out what fits best in your language or project. Honestly, I don’t get the lore or history behind these conventions — maybe you do? Let me know in the comments!

5. Vim: Just No

I know Vim has passionate fans, but I just don’t like it. For me, it’s more frustrating than friendly.

6. C++: Not My Cup of Tea

C++ is another language I dislike. Its complexity and quirks make it a tough one to enjoy.

7 & 8. The Coding Sloth & Sloth Bites

Okay, full disclosure — I have a love-hate relationship with The Coding Sloth and his newsletter, Sloth Bites. The content is good, but I kind of dislike the guy (and his sloth mascot). If you haven’t checked out Sloth Bites, it’s a weekly newsletter with bite-sized programming tips — definitely worth a look despite my grumpiness.

9. Other Programmers (Including Myself)

Sometimes, I just don’t like other programmers — and that includes myself. Programming can be a tough community to navigate, and we all have our quirks.

Bonus: More Google Documentation Woes

Google’s documentation quality can vary wildly depending on the product. Their Ads API documentation is excellent, with up-to-date tutorials, libraries in many languages (including Perl!), and clear examples. Their Angular docs are also top-notch.

But other Google APIs, like Gmail, seem neglected. It’s baffling given Google’s resources, and many developers have voiced frustration, even creating third-party packages just to avoid dealing with Google’s poor docs.


Final Thoughts

Programming is a wonderful but sometimes frustrating craft. Many issues I’ve mentioned are likely just “skill issues” — things that will improve as I (and you) gain experience. Some problems, like documentation and bug reporting, depend on the broader community and industry practices.

If you’re a developer or an open-source contributor, keep doing your part to improve documentation and tooling. And if you’re new like me, remember: you’re not alone in these struggles!


P.S. If you want to try Jam and make bug reporting easier, check out the link in the description. It might just save you hours of headaches.

Happy coding!