<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: CarGDev</title>
    <description>The latest articles on Forem by CarGDev (@cargdev).</description>
    <link>https://forem.com/cargdev</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F529565%2F1a51ad75-59d4-4ad0-8145-62c862312c58.png</url>
      <title>Forem: CarGDev</title>
      <link>https://forem.com/cargdev</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/cargdev"/>
    <language>en</language>
    <item>
      <title>Researchers Are Begging for This: The Academic LinkedIn</title>
      <dc:creator>CarGDev</dc:creator>
      <pubDate>Sun, 15 Feb 2026 17:03:19 +0000</pubDate>
      <link>https://forem.com/cargdev/researchers-are-begging-for-this-the-academic-linkedin-1fpa</link>
      <guid>https://forem.com/cargdev/researchers-are-begging-for-this-the-academic-linkedin-1fpa</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/github-2026-01-21"&gt;GitHub Copilot CLI Challenge&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;Endorsement — a frontend-only Researcher Endorsement &amp;amp; Collaboration Platform built with React (19), Vite, TypeScript and Zustand. The app is a client-side mock of an academic social feed where junior researchers can create profiles, post markdown abstracts, attach in-memory markdown content, receive endorsements on specialties and posts, and share endorsement links. &lt;/p&gt;

&lt;p&gt;The project emphasizes discoverability across disciplines, a simple endorsement graph, and a clean modular architecture ready for a future backend.&lt;/p&gt;

&lt;p&gt;The application has mocked data and not backend was developed at this time.&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Repository: &lt;a href="https://github.com/CarGDev/endorsment" rel="noopener noreferrer"&gt;https://github.com/CarGDev/endorsment&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Intended host / homepage: &lt;a href="https://endorsment.cargdev.io" rel="noopener noreferrer"&gt;https://endorsment.cargdev.io&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyjovg2ud49l60u4vcpj4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyjovg2ud49l60u4vcpj4.png" alt="Endorsement home page" width="800" height="404"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  My Experience with GitHub Copilot CLI
&lt;/h2&gt;

&lt;p&gt;I consulted the official GitHub Copilot CLI documentation while preparing this submission to ensure accurate descriptions of CLI capabilities and commands. In this session the Copilot "documentation fetch" was used programmatically to confirm features (models, installation options, experimental flags, and available commands) and to cite how Copilot CLI can be launched and configured.&lt;/p&gt;

&lt;p&gt;Practically, the project edits and file operations were driven by the Copilot-assisted terminal workflow in this environment: files were created and edited, CSS adjustments applied, and git commits executed. The CLI docs informed correct terminology and helped shape the explanation below so the submission is accurate about Copilot CLI features.&lt;/p&gt;

&lt;h2&gt;
  
  
  Session prompts, knowledge and actions (summary)
&lt;/h2&gt;

&lt;p&gt;Below is a concise chronological summary of the visible user prompts I have used and the corresponding actions taken during creating the application.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Initial product specification&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I provided a detailed spec (React 19 + Vite + TypeScript + Zustand, routes, types, components, store actions, seed data, and UI behavior).&lt;/li&gt;
&lt;li&gt;Action: scaffolded project files and implemented core store, types, routes, and components according to the spec.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Dependency &amp;amp; build issues&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;npm install failed due to a specific unavailable zustand sub-version.&lt;/li&gt;
&lt;li&gt;Action: updated package.json to use "zustand": "^4" so installation succeeds.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;Vite failed to load @vitejs/plugin-react ESM plugin (require vs ESM issue).&lt;/li&gt;
&lt;li&gt;Action: added "type": "module" in package.json to allow ESM plugin loading.&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Runtime errors &amp;amp; quick fixes&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;App.tsx threw ReferenceError: PDFModal is not defined.&lt;/li&gt;
&lt;li&gt;Action: replaced the undefined reference with the existing MarkdownModal and committed the fix.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;UX / UI adjustments requested by the user&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Add a 5px gap on tags row → updated CSS (.tags-row { gap: 5px }).&lt;/li&gt;
&lt;li&gt;Move "Share something..." to the top of the feed → updated Home.tsx to place the create input above the feed and open the create modal on focus.&lt;/li&gt;
&lt;li&gt;Make the whole PostCard clickable to view detail; keep internal buttons interactive → updated PostCard to navigate to /post/:id on card click and used event.stopPropagation() for buttons and links.&lt;/li&gt;
&lt;li&gt;Move "Open MD" control next to Endorse and under the preview → adjusted PostCard layout accordingly.&lt;/li&gt;
&lt;li&gt;Add breadcrumb on PostDetail → added a simple "← Home" link above the post card.&lt;/li&gt;
&lt;li&gt;Replace alert() usage with a top-right NotificationCenter → implemented NotificationCenter component, added store.notifications, and replaced alert calls with addNotification(...) calls.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Markdown instead of PDF&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;User requested markdown attachments (mocked) instead of real PDF handling.&lt;/li&gt;
&lt;li&gt;Action: adapted posts to support attachedMarkdown { name, content } and added MarkdownPreview / MarkdownModal components.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Formatting, linting and project metadata&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Added README.md with author details and the screenshot path.&lt;/li&gt;
&lt;li&gt;Updated package.json with my data (author: cargdev &lt;a href="mailto:carlos.gutierrez@carg.dev"&gt;carlos.gutierrez@carg.dev&lt;/a&gt;, homepage, repository) and added a prettier script.&lt;/li&gt;
&lt;li&gt;Created .prettierrc and .prettierignore, added ESLint config (.eslintrc.cjs) and .eslintignore, and added lint and prettier scripts to package.json.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Commits&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Performed git add and git commit operations at several points to save progressive changes (commits recorded in the repository).&lt;/li&gt;
&lt;li&gt;Note: the markdown submission created by this request is intentionally created but not committed (per your instruction).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Tools and helper actions used during the session&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;File operations: created and edited files (components, routes, store, styles, README and configs).&lt;/li&gt;
&lt;li&gt;Searches: located occurrences of alert() and other patterns to replace them.&lt;/li&gt;
&lt;li&gt;Git: staged and committed changes via shell commands.&lt;/li&gt;
&lt;li&gt;Copilot docs fetch: programmatically retrieved official Copilot CLI docs to ensure accurate description for this submission.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Notes and follow-ups
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;The app is frontend-only and uses an in-memory Zustand store with seed data; localStorage persistence is optional and not required for the MVP.&lt;/li&gt;
&lt;li&gt;Markdown rendering used in the demo is a lightweight approach for mock content; for production use, replace the simple renderer with a proper parser + sanitizer (e.g., marked + DOMPurify).&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>devchallenge</category>
      <category>githubchallenge</category>
      <category>cli</category>
      <category>githubcopilot</category>
    </item>
    <item>
      <title>Vibe Coding Is Addictive, and It’s Quietly Destroying Software Quality</title>
      <dc:creator>CarGDev</dc:creator>
      <pubDate>Thu, 22 Jan 2026 05:15:29 +0000</pubDate>
      <link>https://forem.com/cargdev/vibe-coding-is-addictive-and-its-quietly-destroying-software-quality-8n5</link>
      <guid>https://forem.com/cargdev/vibe-coding-is-addictive-and-its-quietly-destroying-software-quality-8n5</guid>
      <description>&lt;p&gt;Recently I have been use the claude code cli to create some internal projects to myself, to get into &lt;strong&gt;&lt;em&gt;Vibe Coding&lt;/em&gt;&lt;/strong&gt; area, it is an incredible app I may say, probably I will continue use it more and more, but I still have complains and of course I have a complain with the price that is quite expensive, I won't focus on that, I think the LLMs are actually even more costly but we are not seeing the real prices yet. Companies have to gain customers in the area first, and then they will get the real costs.&lt;/p&gt;

&lt;p&gt;As I said before, I have this thought: when you're going to code, with money or without, ships will be really fast, but that doesn't mean it will be good; it just means I don't need to Google it or Stack Overflow it (if that is a verb).&lt;/p&gt;




&lt;h2&gt;
  
  
  Reflections on AI-generated code and developer responsibility
&lt;/h2&gt;

&lt;p&gt;I have generated a project with 1396 directories and 17121 files, which I have to review one by one, and I have already started. It will take time, but this helps me to understand what the LLM is trying to do. I'm talking about Opus 4.5 here, which is the best LLM for coding so far. So recently, I watched many videos about how software engineers will disappear. I doubt it, but let's think for a second that this is true and that developers are people who never evolve with new frameworks.&lt;/p&gt;

&lt;p&gt;So, how companies will generate products will be either prompted by another LLM or by a few people writing prompts insanely because, you know:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="s2"&gt;"Fix this, this time has to work, please."&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The reality is that, for many years, we've said as software developers/engineers that our work is not about code; coding is just one part of the task we have, and LLMs beat us at typing for sure, though not at creativity.&lt;/p&gt;

&lt;p&gt;As I mentioned, I have generated &lt;strong&gt;&lt;em&gt;17121 files&lt;/em&gt;&lt;/strong&gt;, which is insane now. As a developer, I'm lazy; that is why I use &lt;strong&gt;&lt;em&gt;NVim&lt;/em&gt;&lt;/strong&gt;. I don't need to think about what I'm doing. I just have to do it (that is another discussion, but use NVim).&lt;/p&gt;




&lt;h2&gt;
  
  
  Reviewing structure, trade-offs, and maintainability
&lt;/h2&gt;

&lt;p&gt;At this point, let's talk about the structure. The structure actually was a mess. I wrote rules within &lt;code&gt;.claude/&lt;/code&gt; to maintain the structure the most accurately as possible, even with this, the LLM hallucinates sometimes. So let's analyze what I got as a product:&lt;/p&gt;

&lt;h3&gt;
  
  
  The good part
&lt;/h3&gt;

&lt;p&gt;The good part that I got from this was:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I have the architecture I wanted&lt;/li&gt;
&lt;li&gt;I wrote a bunch of code insanely fast&lt;/li&gt;
&lt;li&gt;I kind of manage Claude's code to either approve or deny the changes&lt;/li&gt;
&lt;li&gt;The functions most of the time are written in modules&lt;/li&gt;
&lt;li&gt;It follows the agents' files and skills&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  The issues
&lt;/h3&gt;

&lt;p&gt;As soon as I have to read the code I found:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I have to learn how the code was written. I know the rules, but not how this app was created or coded&lt;/li&gt;
&lt;li&gt;I have mixes between files in JavaScript with Typescript&lt;/li&gt;
&lt;li&gt;If something is hard to get, Claude will mock the code to make it appear to be working&lt;/li&gt;
&lt;li&gt;I have imports where literally importing a function and types like
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nx"&gt;functionA&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="nx"&gt;functionB&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="kd"&gt;type&lt;/span&gt; &lt;span class="nx"&gt;functionC&lt;/span&gt;
    &lt;span class="nx"&gt;functionC&lt;/span&gt;
    &lt;span class="kd"&gt;type&lt;/span&gt; &lt;span class="nx"&gt;functionB&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;@/tools/some&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The most common will be getting imports like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nx"&gt;functionA&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="nx"&gt;functionB&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="nx"&gt;functionC&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;@/tools/some&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="kd"&gt;type&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nx"&gt;functionB&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="nx"&gt;functionC&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;@/types/some&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then I have to change the functions and types in separate files, which will be easier to debug in the future&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I got functions where the types were imported directly on a random function on line 450, just because&lt;/li&gt;
&lt;li&gt;I face code defining the types directly on the line:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="nx"&gt;state&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;push&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="na"&gt;role&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;role&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;user&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;admin&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;content&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;content&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;I got functional programming in the same file where I exported a class&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The code is really hard to debug in the first instance, has comments everywhere, and overwrites the logic elsewhere. I found issues like using the exact same logic in multiple functions and files; that part isn't scalable. Again, it looks super good because it is faster, but it is not maintainable.&lt;/p&gt;




&lt;h2&gt;
  
  
  Where velocity creates risk
&lt;/h2&gt;

&lt;p&gt;There will be people who will tell me that companies want to get things faster, be the best on the market, and stay competitive. Stay on the podium faster than their competitors. I agree on all those the companies need revenue year after year to keep their bussiness but be quicker is not same as get quality, the software is antrophic and changes over the time, those products &lt;strong&gt;&lt;em&gt;Vibe coded&lt;/em&gt;&lt;/strong&gt; today will be a pain on the near future, does not need to be 10 years on the market to say a software is not scalable, as soon as you have customer coming to your application, a lot of issues will be arised and with that could be vulnerabilities.&lt;/p&gt;

&lt;p&gt;Talking about vulnerabilities is another thing with LLMs; we write software to define an architecture and add layers to the application. But the LLMs seem they hate layers and find a way to be more effective, that does not matter if they need to connect the database directly with the UI, it is working and was fast. That is the reason the LLMs have a lot of insecure things, with a simple emoji, and an LLM can get prompt injection.&lt;/p&gt;

&lt;p&gt;That is because the LLMs are to generate content. They are super good at predicting what the token needs to be after the previous token to sound coherent, cohesive, and trustworthy. When they mock data to make the app run, they are calculating the probability that the code will work. I have worked with LLMs that review the code I write, too, and again, it is the same story. The LLM is losing context over the time. I've seen reviews where I implemented the changes it suggested in the PR comment, and then it complains about the suggestion the LLM made a couple of commits ago.&lt;/p&gt;




&lt;h2&gt;
  
  
  When to rely on AI, and when not to
&lt;/h2&gt;

&lt;p&gt;This is not easy because prompting feels good and gives you the feeling you are doing the best thing ever, but when I suggest avoiding the AI:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;When you want to create an application in a language you don't know. It is easier for me to review code written in TypeScript because it is the language I primarily know, but I have to check code generated by the LLM in Rust. I'll probably say yes to everything.&lt;/li&gt;
&lt;li&gt;Learn how to do it by yourself first, if you are not able to understand what it means and the API, before creating one. The LLM will give you anything, and you will be very proud of the result.&lt;/li&gt;
&lt;li&gt;Review every single line generated by the LLM. It is cool to get a lot of lines that look colorful on the IDE, but read every line to see if that makes sense.&lt;/li&gt;
&lt;li&gt;Read about how things work, be curious about. Educate yourself, you don't need to make everything you learn but you have to get an idea and knowledge about how everything works, if tomorrow you are on a plane and you only have the flight time to finish a piece of code, you have to be able to do it by yourself.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now, when I suggest, it's cool to use the AI:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;When you have expertise in the language&lt;/li&gt;
&lt;li&gt;When you know the product and understand the business logic&lt;/li&gt;
&lt;li&gt;When you want a quick explanation of how the code is written&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Why understanding comes first
&lt;/h2&gt;

&lt;p&gt;The issue is not that LLMs can code; it is how we use them to generate that code. How the LLM contribute myself to be better tomorrow, everything that is discovered or invented has to make us better. If in 10 years we saw that AI was really a bad thing (like social media), then even if it is the best thing ever, it would be useless; it wouldn't matter because, as humans, the tool isn't helping us to be better or stay in a better position.&lt;/p&gt;

&lt;p&gt;Use all the tools out there, but first learn how to be a software engineer without any tools. A brief story: when I was in middle school, I started learning about algebra, and there were calculators that solved equations; I have never used one of those. I wanted to know how the equations work, even though I didn't use the quadratic formula, I learn how we got the quadratic formula, and then everything clicked. It will happen the same with the LLM for me; if I don't how to code on some language first I need to learning it before speed myself.&lt;/p&gt;

</description>
      <category>softwaredevelopment</category>
      <category>ai</category>
      <category>productivity</category>
      <category>discuss</category>
    </item>
    <item>
      <title>The AI Bubble: Why I’m Getting Out Before 2026</title>
      <dc:creator>CarGDev</dc:creator>
      <pubDate>Mon, 22 Dec 2025 00:14:22 +0000</pubDate>
      <link>https://forem.com/cargdev/the-ai-bubble-why-im-getting-out-before-2026-57b3</link>
      <guid>https://forem.com/cargdev/the-ai-bubble-why-im-getting-out-before-2026-57b3</guid>
      <description>&lt;p&gt;The AI is here, and by passing the 2025 I faced, everyone is realizing that the AI is good at completing tasks such as reading emails, organizing them, writing letters, and generating images. I have created the pictures for my blog using AI, and they are impressive. If I think about it, it is good to maintain my pattern.&lt;/p&gt;

&lt;p&gt;So, why am I running away from AI in 2026 if the hype is still there, the race to acquire the best AI is still ongoing in our world, and models are continually improving? At some point, it becomes counterintuitive and feels like a bad decision if you think about it, especially given the news that the AGI could possibly be raised by 2030, which is the goal.&lt;/p&gt;

&lt;p&gt;Everything started with &lt;a href="https://machinelearning.apple.com/research/illusion-of-thinking?ref=blog.cargdev.io" rel="noopener noreferrer"&gt;the illusion of thinking&lt;/a&gt;. I read that paper, and something resonated with me. Then, I read "The Illusion of the Illusion of Thinking," which takes the opposite stance, explaining why Apple Papers feel bad and what they did wrong in their research.&lt;/p&gt;

&lt;p&gt;Both papers are extraordinary in understanding the key point of AI.&lt;/p&gt;




&lt;h2&gt;
  
  
  The real truth about the system
&lt;/h2&gt;

&lt;p&gt;After reading the book &lt;a href="https://a.co/d/03IL51Z?ref=blog.cargdev.io" rel="noopener noreferrer"&gt;The Art of Doing Science and Engineering: Learning to Learn&lt;/a&gt;, and making an &lt;a href="https://blog.cargdev.io/engineering-lessons-from-building-an-llm-poc-what-i-learned-building-sheepop/" rel="noopener noreferrer"&gt;LLM prototype&lt;/a&gt; by myself, I realized the pattern is still clear, we have a super models that basically run from the same pattern, connecting dots based on the prompts by generating the most credible idea based on the most probable answer any user is looking for.&lt;/p&gt;

&lt;p&gt;So that is why if I ask any LLM:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;What is the command to display where my folders are mount
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I will get this answer below:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fod1ga6txvzy6xz6atq97.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fod1ga6txvzy6xz6atq97.png" alt="prompt answer" width="800" height="324"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Which is correct and saves me the time to Google it. There is, however, a paradox: creating the illusion that I know how to use the terminal, and perhaps I do; it may also be creating an illusion that I understand something I do not clearly comprehend. I am not saying that we should learn all the commands by memory.&lt;/p&gt;

&lt;p&gt;Imagine now an application made by someone that does not know how to code or create applications, it is some requirements as software engineer you need to follow but how to get all those requirements within the code to then create an application, that is tricky behavior it is not only code the lines of code or modeling the system requirements is synergy of everything and understand what you are doing what every you are doing.&lt;/p&gt;




&lt;h2&gt;
  
  
  The path is missing out.
&lt;/h2&gt;

&lt;p&gt;At this point, it is clear why I'm moving away from LLMs. I feel I need to buy something to be super fast and feel productive by just paying to be smart. We are buying the power of thinking, or at least that's what it seems like.&lt;/p&gt;

&lt;p&gt;It is the same feeling on video games 20 years back and nowadays, where you clearly need to buy the best skin instead of demonstrating your best ability. We are, in fact, showing who is wealthier than others, generally speaking.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgw2yh8wjdu07qkn2zr2w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgw2yh8wjdu07qkn2zr2w.png" alt="tweet" width="584" height="172"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The feeling of being extraordinary without being extraordinary feels real, and we must remember that all these products are maintained by companies, so they have to generate revenue in the end, right? We should think about how we utilize the new technology added to our lives to maximize its benefits to our advantage.&lt;/p&gt;




&lt;h2&gt;
  
  
  What's going to be my 2026
&lt;/h2&gt;

&lt;p&gt;In fact, I won't stop using AI tools at all, but I won't spend too much money on learning and practicing with them. After building my own LLM, where I felt I could understand much better how the AI works and what the AI is by removing all the hype.&lt;/p&gt;

&lt;p&gt;I will follow my own pattern of learning. I will still be using AI to code if I know the language, after all. Once I am on an LLM loop, I need to be able to write the code myself. It is okay if I don't remember a command line; I can ask an LLM or look it up on Google. Though I will remember it for next time, I will write it down in a notebook to reinforce my own learning.&lt;/p&gt;

&lt;p&gt;If I need to write something valuable or feel the need to convey an idea, I will draft it myself and figure out how to make it sound better. At the end, I will just use an LLM to correct grammar and congruency rather than simply typing a prompt to create something that will make me feel good about it. Perhaps I don't have the idea about.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>productivity</category>
      <category>development</category>
      <category>career</category>
    </item>
    <item>
      <title>How a Performance Study Changed the Way I Think About Optimization</title>
      <dc:creator>CarGDev</dc:creator>
      <pubDate>Mon, 08 Dec 2025 18:40:55 +0000</pubDate>
      <link>https://forem.com/cargdev/how-a-performance-study-changed-the-way-i-think-about-optimization-2khl</link>
      <guid>https://forem.com/cargdev/how-a-performance-study-changed-the-way-i-think-about-optimization-2khl</guid>
      <description>&lt;p&gt;I recently read a paper on &lt;a href="https://ieeexplore.ieee.org/document/10174003" rel="noopener noreferrer"&gt;high-performance computing (HPC)&lt;/a&gt;, which reshaped my understanding of performance work. I used to think HPC was mostly about having the “fastest algorithm.” Perhaps, the more I delved into the research and my own experiments, the more I realized that HPC is fundamentally about how algorithms behave when they interact with real hardware, compilers, memory systems, and parallel execution models.&lt;/p&gt;

&lt;p&gt;The paper I was reading analyzed 1,700-ish commits across 186 confirmed performance bugs. What blew me out is that these weren’t exotic edge cases. Most were everyday issues caused by the way algorithms interact with memory, data structures, and parallel execution.&lt;/p&gt;

&lt;p&gt;It made one thing very clear: HPC performance is about managing complexity, not just writing clever code.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Five Root Causes of HPC Performance Bugs
&lt;/h2&gt;

&lt;p&gt;The study categorizes performance bugs into five distinct categories, each with its own unique characteristics. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmv1afs7o7tj3hvhbudng.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmv1afs7o7tj3hvhbudng.jpg" alt="HPC Bug analysis percentage categories" width="510" height="238"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once I reviewed the paper more, I understood that most performance problems aren’t about things being “too slow” in an obvious way. They’re about using the wrong data structure, over-synchronizing threads, performing unnecessary allocations, or tripping on memory alignment. They’re subtle, and they often hide in plain sight.&lt;/p&gt;

&lt;p&gt;In most cases, a minor issue is resolved by just 10 to 20 lines of code, which can take weeks to find. And the experience level of developers also plays a role: senior and expert engineers introduce fewer performance bugs because they’ve learned how to avoid the traps before stepping into them.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjrucowaclyracdjq54dy.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjrucowaclyracdjq54dy.jpg" alt="Bugs introduction vs Software seniority" width="700" height="516"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  A Closer Look at the GitHub Issue
&lt;/h2&gt;

&lt;p&gt;One example that really caught my attention was a GitHub issue in &lt;a href="https://github.com/OpenMathLib/OpenBLAS/issues/3879" rel="noopener noreferrer"&gt;OpenBLAS&lt;/a&gt;, where users noticed that matrix multiplication performance could vary by up to 2 times depending on how memory was aligned.&lt;br&gt;
Let's consider this issue for a moment: the same code, the same matrix sizes, the same function, but wildly different runtimes depending on where the data happens to land in memory. The issue came down to something simple but easily overlooked.&lt;/p&gt;

&lt;p&gt;C++ heap allocations are typically aligned to 16 bytes, but AVX kernels in BLAS libraries perform best when memory is aligned to 32 or 64 bytes. Misalignment means the CPU has to fetch data across cache line boundaries, which can sometimes cause extra loads or partial cache line accesses.&lt;/p&gt;

&lt;p&gt;The end result is unpredictable performance. Not slower in a consistent way, but irregular, sometimes aligned memory is faster, sometimes misaligned is faster.&lt;/p&gt;

&lt;p&gt;That unpredictability is what makes this kind of bug so frustrating.&lt;/p&gt;




&lt;h2&gt;
  
  
  What the Results Actually Looked Like
&lt;/h2&gt;

&lt;p&gt;Across matrix sizes ranging from 512 to 2048, the aligned and misaligned versions alternated in position. On my setup:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;At 512, aligned memory was clearly faster&lt;/li&gt;
&lt;li&gt;At 1024 and 2048, misaligned memory actually edged ahead&lt;/li&gt;
&lt;li&gt;At 1500, alignment mattered again&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The key takeaway is that the pattern isn’t stable. The performance varies depending on the CPU architecture, cache behavior, OS memory allocator behavior, and even the matrix dimensions themselves.&lt;br&gt;
This also supports one of the key arguments in the empirical study: memory-management performance bugs typically take a long time to diagnose because their symptoms aren’t consistent.&lt;/p&gt;




&lt;h2&gt;
  
  
  What This Taught Me About HPC
&lt;/h2&gt;

&lt;p&gt;After working through both the research and the experiments, I walked away with a different perspective on HPC optimization.&lt;/p&gt;

&lt;p&gt;HPC isn’t really about making code fast. Anyone can make something fast once. HPC is about making performance predictable. A “fast” algorithm that sometimes runs twice as slow is a liability.&lt;/p&gt;

&lt;p&gt;A few lessons hit especially hard:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Hardware details matter more than most people think.&lt;/li&gt;
&lt;li&gt;Data movement is often a bigger bottleneck than computation.&lt;/li&gt;
&lt;li&gt;Alignment, caching, and parallel scheduling can completely change performance.&lt;/li&gt;
&lt;li&gt;Many performance bugs are really architectural misunderstandings.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;Reading the empirical study and experimenting on my own, my machine and my own alignment-sensitive benchmark made HPC feel much more real to me. Instead of thinking in terms of algorithms on paper, I began to consider how code is loaded into memory, how the CPU fetches it, how cache boundaries influence performance, and how seemingly minor decisions can ripple outward into unpredictable behavior.&lt;/p&gt;

&lt;p&gt;HPC isn’t just about writing efficient code. It’s about understanding the environment in which the code runs. And once you see it that way, performance becomes a much more interesting and much more challenging problem.&lt;/p&gt;

</description>
      <category>algorithms</category>
      <category>hpc</category>
      <category>github</category>
      <category>coding</category>
    </item>
    <item>
      <title>My Journey into Computer Architecture: From Basics to gem5 Experiments</title>
      <dc:creator>CarGDev</dc:creator>
      <pubDate>Wed, 24 Sep 2025 09:45:39 +0000</pubDate>
      <link>https://forem.com/cargdev/my-journey-into-computer-architecture-from-basics-to-gem5-experiments-g1p</link>
      <guid>https://forem.com/cargdev/my-journey-into-computer-architecture-from-basics-to-gem5-experiments-g1p</guid>
      <description>&lt;p&gt;When I started studying computer architecture, I knew I was entering a field that quietly shapes the way modern technology works. Behind every phone, server, or smart sensor is a set of design decisions that balance speed, energy, and complexity. What I didn’t realize was just how much of this world I would explore through hands-on experiments with &lt;strong&gt;gem5&lt;/strong&gt;, a powerful simulation tool.&lt;/p&gt;

&lt;h2&gt;
  
  
  Laying the Foundation
&lt;/h2&gt;

&lt;p&gt;The first step in my journey was simply getting things ready. Installing and building gem5 on my own system wasn’t glamorous, but it grounded me in the practical side of architecture. I learned how to structure my work properly—keeping source code, builds, workloads, and results cleanly separated. That organization became essential later when the number of runs and configurations started to multiply.&lt;/p&gt;

&lt;p&gt;Running a simple “hello world” program on the x86 ISA may sound trivial, but it gave me confidence. It was proof that my simulation environment worked, and it reminded me that even the most complex systems begin with small steps.&lt;/p&gt;

&lt;h2&gt;
  
  
  Memory Hierarchy: Where Performance Meets Reality
&lt;/h2&gt;

&lt;p&gt;As I moved deeper, I studied memory hierarchies—the layers of SRAM, DRAM, Flash, and newer technologies like HBM and NVRAM. Each level carries trade-offs between speed, cost, and capacity. What struck me is how much of modern performance depends not on raw processor speed but on how well we hide or manage memory latency.&lt;/p&gt;

&lt;p&gt;Through gem5 experiments, I tested cache parameters: adjusting sizes, associativity, and line sizes. The results were eye-opening. Doubling the cache line size, for example, increased per-miss latency but actually improved execution time overall by better capturing spatial locality. It was a practical lesson in how design trade-offs play out in measurable ways.&lt;/p&gt;

&lt;h2&gt;
  
  
  Instruction-Level Parallelism (ILP): Squeezing More from a Single Core
&lt;/h2&gt;

&lt;p&gt;Another turning point was exploring &lt;strong&gt;Instruction-Level Parallelism (ILP)&lt;/strong&gt;. At first, the idea seems simple: overlap independent instructions so the processor stays busy. But the deeper I went, the more I understood the challenges—data, control, and structural hazards constantly get in the way.&lt;/p&gt;

&lt;p&gt;I experimented with pipelining, superscalar configurations, branch prediction, and simultaneous multithreading in gem5. Out-of-order execution and speculation, once just abstract textbook concepts, became real when I saw how they changed throughput and latency. At the same time, I came to appreciate why hardware complexity and power consumption limit how far we can push ILP. The so-called “power wall” isn’t just theory—it shapes the future of processor design.&lt;/p&gt;

&lt;h2&gt;
  
  
  Connecting to Modern Trends
&lt;/h2&gt;

&lt;p&gt;What excites me most is how these classical concepts connect to emerging directions. Heterogeneous architectures—where CPUs, GPUs, and accelerators cooperate—are the industry’s way of sidestepping ILP’s diminishing returns. Similarly, cache innovations, persistent memory, and interconnect standards like CXL point to a world where efficiency and scalability matter as much as raw speed.&lt;/p&gt;

&lt;h2&gt;
  
  
  Closing Thoughts
&lt;/h2&gt;

&lt;p&gt;Studying computer architecture has been more than an academic exercise for me. It has been a journey from abstract principles to hands-on experiments, where theory meets measurable results. Running gem5 taught me that architecture is not about chasing “the fastest processor” but about balancing trade-offs: latency versus throughput, performance versus power, simplicity versus complexity.&lt;/p&gt;

&lt;p&gt;Every experiment left me with a sense of discovery. Whether it was watching a tiny benchmark expose cache behavior or seeing how branch prediction changes pipeline flow, I realized that architecture is as much about creativity as it is about engineering discipline.&lt;/p&gt;

&lt;p&gt;I’m still at the beginning of this road, but one thing is clear: understanding computer architecture gives me a new lens to look at technology, not as a black box but as a carefully tuned system where every choice matters.&lt;/p&gt;

</description>
      <category>computerscience</category>
      <category>gemini</category>
      <category>microprocessor</category>
      <category>programming</category>
    </item>
    <item>
      <title>From Minimal to Mighty: Reimagining ideaDrop.nvim for Serious Idea Management in Neovim</title>
      <dc:creator>CarGDev</dc:creator>
      <pubDate>Tue, 29 Jul 2025 00:00:19 +0000</pubDate>
      <link>https://forem.com/cargdev/from-minimal-to-mighty-reimagining-ideadropnvim-for-serious-idea-management-in-neovim-572c</link>
      <guid>https://forem.com/cargdev/from-minimal-to-mighty-reimagining-ideadropnvim-for-serious-idea-management-in-neovim-572c</guid>
      <description>&lt;p&gt;You know that feeling when a tool grows beyond its original purpose?&lt;/p&gt;

&lt;p&gt;That's exactly what happened with &lt;a href="https://github.com/CarGDev/ideadrop.nvim" rel="noopener noreferrer"&gt;&lt;strong&gt;ideaDrop.nvim&lt;/strong&gt;&lt;/a&gt;—my little side project that began as a floating Markdown sidebar for quick brain dumps and now... well, it's a full-blown &lt;strong&gt;idea management system&lt;/strong&gt; for Neovim.&lt;/p&gt;

&lt;p&gt;Let me walk you through the transformation—from a humble plugin to a power user's dream.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Seed: What ideaDrop Used to Be
&lt;/h2&gt;

&lt;p&gt;The first version of &lt;code&gt;ideaDrop.nvim&lt;/code&gt; was minimal by design. Think quick access, minimal interface, and just enough file handling to stay out of your way.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What it did well:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Let you drop thoughts into a floating Markdown file&lt;/li&gt;
&lt;li&gt;Saved files automatically&lt;/li&gt;
&lt;li&gt;Let you name and nest them in folders&lt;/li&gt;
&lt;li&gt;Gave you a fuzzy picker to open existing notes&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Simple. Effective. And very much &lt;em&gt;just enough&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;But... something kept nagging me.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Realization: Notes Deserve Power, Not Just Simplicity
&lt;/h2&gt;

&lt;p&gt;As I started using &lt;code&gt;ideaDrop&lt;/code&gt; more regularly—jotting down project specs, startup ideas, random midnight epiphanies—I realized I needed more:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A &lt;strong&gt;persistent view&lt;/strong&gt; that doesn't vanish when I switch buffers&lt;/li&gt;
&lt;li&gt;A way to &lt;strong&gt;browse ideas by tags&lt;/strong&gt;, not just filenames&lt;/li&gt;
&lt;li&gt;A &lt;strong&gt;file tree&lt;/strong&gt; to see everything at a glance&lt;/li&gt;
&lt;li&gt;Real &lt;strong&gt;search&lt;/strong&gt;, not just a fuzzy filename picker&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And most importantly: it needed to &lt;strong&gt;scale&lt;/strong&gt;. Ideas are chaotic. Your tools shouldn’t be.&lt;/p&gt;




&lt;h3&gt;
  
  
  Multiple View Modes
&lt;/h3&gt;

&lt;p&gt;Forget being stuck with just a floating window. Now you can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Pop ideas into a &lt;strong&gt;persistent right-side buffer&lt;/strong&gt; (perfect for long work sessions)&lt;/li&gt;
&lt;li&gt;Replace your &lt;strong&gt;current buffer&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Still enjoy the original &lt;strong&gt;floating modal&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Or use the new &lt;strong&gt;Tree View&lt;/strong&gt; powered by &lt;code&gt;nvim-tree&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It’s your workspace—view it how you want.&lt;/p&gt;




&lt;h3&gt;
  
  
  Tagging, Supercharged
&lt;/h3&gt;

&lt;p&gt;Idea tagging is now first-class:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Add or remove tags with commands (&lt;code&gt;:IdeaAddTag&lt;/code&gt;, &lt;code&gt;:IdeaRemoveTag&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Browse by tags (&lt;code&gt;:IdeaTags&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Search ideas with a specific tag (&lt;code&gt;:IdeaSearchTag&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Auto-indexes tags from your &lt;code&gt;#hashtags&lt;/code&gt; in Markdown&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It’s like Obsidian meets Neovim. And it just works.&lt;/p&gt;




&lt;h3&gt;
  
  
  Fuzzy Search on Steroids
&lt;/h3&gt;

&lt;p&gt;The old fuzzy picker? That was cute.&lt;/p&gt;

&lt;p&gt;Now you can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;:IdeaSearch&lt;/code&gt; across &lt;strong&gt;titles and content&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Narrow it down with &lt;code&gt;:IdeaSearchTitle&lt;/code&gt; or &lt;code&gt;:IdeaSearchContent&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Get instant results as you type&lt;/li&gt;
&lt;li&gt;Jump to exact matches&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Seriously, it’s &lt;em&gt;creepily fast&lt;/em&gt;.&lt;/p&gt;




&lt;h3&gt;
  
  
  Built-in File Tree Navigation
&lt;/h3&gt;

&lt;p&gt;If you’re a visual thinker (or just messy like me), the new Tree View is 🔥.&lt;/p&gt;

&lt;p&gt;Use &lt;code&gt;:IdeaTree&lt;/code&gt; to pop open &lt;code&gt;nvim-tree&lt;/code&gt;, and you can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Navigate through all your idea folders&lt;/li&gt;
&lt;li&gt;Click to open files&lt;/li&gt;
&lt;li&gt;Create, rename, or delete ideas&lt;/li&gt;
&lt;li&gt;See your whole mental world at a glance&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  Cleaner, Safer, Smarter
&lt;/h3&gt;

&lt;p&gt;Under the hood, I’ve:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Added &lt;strong&gt;auto-save&lt;/strong&gt; (no more accidental loss)&lt;/li&gt;
&lt;li&gt;Implemented &lt;strong&gt;date-based file naming&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Kept everything in clean, human-readable &lt;strong&gt;Markdown&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Improved configuration defaults, but left full control to you&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  New Keymaps = Instant Productivity
&lt;/h2&gt;

&lt;p&gt;You now get opinionated, intuitive defaults:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Keymap&lt;/th&gt;
&lt;th&gt;Action&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&amp;lt;leader&amp;gt;id&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Open today’s idea (right buffer)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&amp;lt;leader&amp;gt;in&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Open named idea (right buffer)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&amp;lt;leader&amp;gt;it&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Launch the file tree&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&amp;lt;leader&amp;gt;is&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Search through all ideas&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&amp;lt;leader&amp;gt;ig&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Browse tags&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&amp;lt;leader&amp;gt;if&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Open today’s idea (floating)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Customize them or stick with mine—your call.&lt;/p&gt;




&lt;h2&gt;
  
  
  🫶 Final Thoughts
&lt;/h2&gt;

&lt;p&gt;I didn’t set out to build a full-featured PKM tool inside Neovim.&lt;/p&gt;

&lt;p&gt;But here we are.&lt;/p&gt;

&lt;p&gt;If you're a developer who lives in Neovim and needs a &lt;strong&gt;fast, private, keyboard-first&lt;/strong&gt; way to manage your brain—&lt;code&gt;ideaDrop.nvim&lt;/code&gt; might just be your new second brain.&lt;/p&gt;

&lt;p&gt;I use it every day now.&lt;/p&gt;

&lt;p&gt;And I built it for people like me. Maybe people like you, too.&lt;/p&gt;




&lt;p&gt;👉 &lt;a href="https://github.com/CarGDev/ideadrop.nvim" rel="noopener noreferrer"&gt;Check it out on GitHub&lt;/a&gt;&lt;br&gt;&lt;br&gt;
⭐ Star it.&lt;br&gt;&lt;br&gt;
🐛 Break it.&lt;br&gt;&lt;br&gt;
🔧 Hack it.&lt;br&gt;&lt;br&gt;
❤️ Use it.&lt;/p&gt;

&lt;p&gt;— Carlos&lt;/p&gt;

</description>
      <category>neovim</category>
      <category>lua</category>
      <category>ideas</category>
    </item>
    <item>
      <title>Detox Week</title>
      <dc:creator>CarGDev</dc:creator>
      <pubDate>Mon, 07 Jul 2025 23:00:09 +0000</pubDate>
      <link>https://forem.com/cargdev/detox-week-4k6h</link>
      <guid>https://forem.com/cargdev/detox-week-4k6h</guid>
      <description>&lt;p&gt;This week, I started working on nothing.&lt;br&gt;
Yeah, I know — that sounds like I didn’t even open the terminal.&lt;br&gt;
Well, in strict theory, I wasn’t allowed to.&lt;/p&gt;

&lt;p&gt;I started the week with some basic rules:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;No reading anything&lt;/li&gt;
&lt;li&gt;No social media&lt;/li&gt;
&lt;li&gt;No work&lt;/li&gt;
&lt;li&gt;No emails&lt;/li&gt;
&lt;li&gt;No learning&lt;/li&gt;
&lt;li&gt;No LLMs like ChatGPT&lt;/li&gt;
&lt;li&gt;No music with lyrics&lt;/li&gt;
&lt;li&gt;No podcasts&lt;/li&gt;
&lt;li&gt;No multitasking&lt;/li&gt;
&lt;li&gt;No messages (WhatsApp, iMessage, etc.)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Note: The rules above could be broken only if something important came up.&lt;/p&gt;

&lt;p&gt;One of the hardest rules was not reading. If you do this exercise, you’ll quickly realize how difficult it is not to read when you’re trying to avoid it. We don’t notice how much we read during the day — even the small labels on a whole milk package. You’re still reading, and that becomes mental trash for your brain.&lt;/p&gt;

&lt;p&gt;The goal for setting this titanic task for the week was simple: get a detox.&lt;br&gt;
Simple, but hard to follow. By the third day, I was really fighting against the boredom.&lt;br&gt;
I found myself counting stuff in my house — I have 4 chairs and 1 table.&lt;br&gt;
Then I started wondering: when was the first dinner at that table?&lt;br&gt;
Before tables existed, did people even have dinner and lunch "times"?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;First Day&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The first day was filled with constant thoughts like: What am I doing? Why am I opening social media again when I know I can’t do anything?&lt;br&gt;
I would just close it and put my phone back in my pocket.&lt;br&gt;
I deactivated notifications on my Apple Watch.&lt;br&gt;
I was on a very strict regimen.&lt;br&gt;
I felt like I was going insane, doing this.&lt;/p&gt;

&lt;p&gt;But the day happened normally. I interacted more with people at the office, talked more, and saw people I hadn’t seen before.&lt;br&gt;
It was interesting, to be honest — not tough at all.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Second and Third Day&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;These days were the toughest — the most difficult on my calendar.&lt;br&gt;
I was dying of boredom.&lt;/p&gt;

&lt;p&gt;At work, I had a schedule to follow. It was hard to maintain.&lt;br&gt;
Obviously, I had to keep reading emails and messages, but I avoided going deep into conversations unless they tagged me — if it’s not important, I let it go.&lt;/p&gt;

&lt;p&gt;At home, it was even harder. I had nothing to do.&lt;br&gt;
I watched a documentary about the Titan submersible.&lt;br&gt;
If you remember that day in 2023 when a group of people went underwater to explore the Titanic wreck — that one.&lt;/p&gt;

&lt;p&gt;It was the first time I finished a documentary in one sitting.&lt;br&gt;
I hadn’t realized how often I’d watch 2-hour documentaries in fragments over months.&lt;/p&gt;

&lt;p&gt;On the third day, I was extremely bored.&lt;br&gt;
I started drawing to keep my mind busy.&lt;br&gt;
That small act helped me: to start something and finish it — just because sometimes you need to finish what you start.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1lgzmjaf5g80hxkwp4si.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1lgzmjaf5g80hxkwp4si.png" alt=" " width="800" height="832"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fourth Day&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A day without music, without podcasts, taught me about the micro-trash in my mind.&lt;br&gt;
All that noise and stimulus forces my brain to be in response mode all the time.&lt;/p&gt;

&lt;p&gt;That day, my anxiety was lower.&lt;br&gt;
It helped me analyze myself and reflect on the constant rush of change happening every day in tech.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Final Day&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The final day was smooth.&lt;br&gt;
I think I lost my phone for most of it.&lt;br&gt;
No messages — only the Apple Watch, in case I needed to answer a call.&lt;/p&gt;

&lt;p&gt;I enjoyed that day.&lt;br&gt;
With a cigar.&lt;br&gt;
In nature.&lt;br&gt;
Just listening to the sounds and peace.&lt;/p&gt;

&lt;p&gt;I hadn’t felt that kind of peace in a very long time.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Thoughts&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;During this week, I wrote a lot.&lt;br&gt;
I observed more.&lt;br&gt;
I listened to people more.&lt;br&gt;
I interacted more.&lt;/p&gt;

&lt;p&gt;I did a retro inspection with myself — having internal discussions I had buried in my rush to be productive.&lt;br&gt;
It felt like a pause in a chaotic world.&lt;/p&gt;

&lt;p&gt;I wrote again on paper — adding all my ideas, questioning myself:&lt;br&gt;
What do I want to do?&lt;br&gt;
Why am I doing what I’m doing?&lt;br&gt;
How do I see myself in 5 years?&lt;br&gt;
How do I see myself as an 80-year-old man?&lt;/p&gt;

&lt;p&gt;Yes, those are cliché questions — but they help when you stop for a second and really think.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Learning&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This week didn’t change my life — I wish I could say that just to get more views.&lt;br&gt;
But It did open my mind though.&lt;/p&gt;

&lt;p&gt;It’s okay to rest.&lt;br&gt;
It’s okay to be sad.&lt;br&gt;
It’s okay to not finish that book.&lt;br&gt;
It’s okay to not finish that project.&lt;/p&gt;

&lt;p&gt;what’s not okay is losing the present though.&lt;br&gt;
Losing the connection as a human being.&lt;/p&gt;

&lt;p&gt;There’s a long way to go.&lt;br&gt;
I still have things to learn, stuff to accomplish, projects to get done.&lt;br&gt;
Maybe I’m one week behind others — but this isn’t a competition.&lt;br&gt;
It’s not even a race.&lt;/p&gt;

&lt;p&gt;This week showed me the positive side of boredom: it leads to creation.&lt;br&gt;
I drew. I picked colors. I made combinations.&lt;br&gt;
Maybe people will say it’s the worst drawing — but who cares?&lt;/p&gt;

&lt;p&gt;I wrote things I’ll probably never read again.&lt;br&gt;
But that was a mental drain I needed.&lt;/p&gt;

&lt;p&gt;The negative side of boredom wasn’t that bad either.&lt;br&gt;
It just showed me how badly my brain had gotten addicted to quick answers, quick feedback, quick everything.&lt;/p&gt;

&lt;p&gt;From now on, I’ll probably set a 10-minute timer for social media.&lt;br&gt;
10 minutes for reading emails.&lt;/p&gt;

&lt;p&gt;By the end of the week, I had received 150 emails on my personal account — and 95% were trash.&lt;br&gt;
All that junk is taking up space in my brain, displacing the important stuff I actually want to do.&lt;/p&gt;

&lt;p&gt;No, I won’t finish my projects in one day — but the 2–3 hours I used to spend on social media?&lt;br&gt;
That could be one more line of code.&lt;br&gt;
Or just paying better attention to the podcast I actually care about.&lt;/p&gt;

&lt;p&gt;I really love listening to music.&lt;br&gt;
Anyone who knows me knows I’m that guy blasting music in the morning on the way to work.&lt;br&gt;
But I had never noticed there was a lake on the way to work.&lt;br&gt;
Walking was better.&lt;br&gt;
I breathed better — without headphones or my phone.&lt;/p&gt;

&lt;p&gt;It’s okay to not answer the phone.&lt;br&gt;
If it’s important, they’ll call you.&lt;br&gt;
Trust me.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pause, Just Once&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If any part of this resonated with you, I invite you to try your own version of a detox week. You don’t need to follow every rule I did—just pick a few and notice what happens when the noise fades. Give yourself space to be bored, to reflect, to observe without distraction. It might be uncomfortable at first, but on the other side of that silence, you might rediscover parts of yourself you’ve been too busy to hear.&lt;/p&gt;

</description>
      <category>digitaldetox</category>
      <category>productivity</category>
    </item>
    <item>
      <title>I built an MVP couple/personal finance app</title>
      <dc:creator>CarGDev</dc:creator>
      <pubDate>Sun, 15 Jun 2025 01:16:26 +0000</pubDate>
      <link>https://forem.com/cargdev/i-built-an-mvp-couplepersonal-finance-app-hm2</link>
      <guid>https://forem.com/cargdev/i-built-an-mvp-couplepersonal-finance-app-hm2</guid>
      <description>&lt;p&gt;Why did I do this?&lt;br&gt;
That’s probably your first question: Why is this guy adding yet another finance app when there are already so many on the market?&lt;/p&gt;

&lt;p&gt;Well, I’ve got something to say: none of the apps out there really talk to each other or follow your spending in a way that actually reflects your life. They’re disconnected, rigid, and often built around assumptions that just don’t match reality — especially for couples.&lt;/p&gt;

&lt;p&gt;I’ve got tons of ideas for where this can go, but I had to start somewhere. My mindset was simple: If this app helps me, maybe it can help other couples in the same situation too.&lt;/p&gt;

&lt;p&gt;Let’s Talk About the Money&lt;br&gt;
Money’s hard to talk about — especially if, like me, you come from a Latin American background where money is still a bit of a taboo. But why should that be the case with your partner? That’s the person who's right next to you, day in and day out.&lt;/p&gt;

&lt;p&gt;Not everyone got the best financial education growing up. And that’s exactly why y’all need to talk more about money — to figure out if you're on the right track or heading in the wrong direction.&lt;/p&gt;

&lt;p&gt;Me and my wife started doing a weekly financial check-in — it’s non-negotiable now. That meeting helped clear up so many things:&lt;/p&gt;

&lt;p&gt;Where your money is being spent&lt;br&gt;
What goals y’all need to set as a couple&lt;br&gt;
How much y’all have for groceries, gas, and fun&lt;br&gt;
What your real budget looks like&lt;br&gt;
How y’all are investing in retirement (or not yet)&lt;br&gt;
Why I Built This&lt;br&gt;
I've been tracking finances in Excel for 15+ years. I’m fast with it, I know VBA, I’ve built dashboards — the whole deal.&lt;/p&gt;

&lt;p&gt;But now, I’m not doing finances solo. And let’s be real: it’s 2025 — apps should be better than spreadsheets by now.&lt;/p&gt;

&lt;p&gt;Even with all my Excel experience, juggling data, keeping it synced, and getting real insights was becoming a mess. So I built the tool I wish existed: a simple, connected, private-first finance tracker that works for individuals and couples.&lt;/p&gt;

&lt;p&gt;It’s live now:&lt;br&gt;
👉 &lt;a href="https://finances.cargdev.io" rel="noopener noreferrer"&gt;https://finances.cargdev.io&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;What It Does&lt;br&gt;
✅ Track income, expenses, and credit card balances&lt;br&gt;
✅ Split bills with your partner or housemate&lt;br&gt;
✅ View your savings rate, spending trends, and budget categories&lt;br&gt;
✅ Keep your data private — no 3rd-party syncing&lt;br&gt;
✅ Fast, simple, flexible — works the way you need it to&lt;br&gt;
What I Need From Y’all&lt;br&gt;
I’m in the validation stage — here’s where y’all come in:&lt;/p&gt;

&lt;p&gt;Try it out and see if it fits your flow&lt;br&gt;
Send honest feedback — UX, bugs, missing features&lt;br&gt;
Tell me if this solves something real for you&lt;br&gt;
Try It Now&lt;br&gt;
Head to &lt;a href="https://finances.cargdev.io" rel="noopener noreferrer"&gt;https://finances.cargdev.io&lt;/a&gt;&lt;br&gt;
Create an account (no email verification needed)&lt;br&gt;
Add some transactions or split a bill&lt;br&gt;
Explore the dashboard — and tell me what makes sense, what doesn’t, and what’s missing&lt;br&gt;
Let’s Connect&lt;br&gt;
If this idea speaks to you — whether you’re a user, developer, investor, or just curious — I’d love to talk.&lt;/p&gt;

&lt;p&gt;Leave a comment, DM me on LinkedIn, or email me at &lt;a href="mailto:carlos.gutierrez@carg.dev"&gt;carlos.gutierrez@carg.dev&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Thanks for reading. And thanks even more if you give it a try.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>saas</category>
      <category>programming</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
