# habits

Published articles for habits.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Why I Built Bloomind

DevFeed: [Why I Built Bloomind](<https://devfeed.tech/articles/why-i-built-bloomind-106534.md>)

Original publisher: [Read original article](<https://medium.com/@banmarkovic/why-i-built-bloomind-e491c215e828?source=rss-8aced922ece------2>)

Author: Ban Markovic

Published: 2026-10-26T00:00:16Z

Content type: article

Language: en

Sources: [Ban Markovic](<https://devfeed.tech/sources/stories-by-ban-markovic-on-medium.md>)

Topics: [experience report](<https://devfeed.tech/topics/experience-report.md>), [Tool](<https://devfeed.tech/topics/tool.md>), [X (Twitter)](<https://devfeed.tech/topics/twitter.md>)

Tags: [advice](<https://devfeed.tech/tags/advice.md>), [android](<https://devfeed.tech/tags/android.md>), [books](<https://devfeed.tech/tags/books.md>), [challenge](<https://devfeed.tech/tags/challenge.md>), [focus](<https://devfeed.tech/tags/focus.md>), [goals](<https://devfeed.tech/tags/goals.md>), [habits](<https://devfeed.tech/tags/habits.md>), [indiedev](<https://devfeed.tech/tags/indiedev.md>), [ios](<https://devfeed.tech/tags/ios.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [learn](<https://devfeed.tech/tags/learn.md>), [learning](<https://devfeed.tech/tags/learning.md>), [memory](<https://devfeed.tech/tags/memory.md>), [podcasts](<https://devfeed.tech/tags/podcasts.md>), [principles](<https://devfeed.tech/tags/principles.md>), [programming](<https://devfeed.tech/tags/programming.md>), [reading](<https://devfeed.tech/tags/reading.md>), [self-improvement](<https://devfeed.tech/tags/self-improvement.md>), [social-media](<https://devfeed.tech/tags/social-media.md>), [software](<https://devfeed.tech/tags/software.md>), [software-developer](<https://devfeed.tech/tags/software-developer.md>), [story](<https://devfeed.tech/tags/story.md>), [technology](<https://devfeed.tech/tags/technology.md>)

### AI overview

Bloomind aims to help people retain useful ideas from books and podcasts by making regular review easier. The author describes saving notes, quotes, and advice in one place, then using gamified spaced repetition: Play mode prioritizes notes not seen for the longest time, tracks which ideas may be fading, and shows mastery across life areas. This replaces an endless feed with short review sessions around ideas the user chose to remember. The author also built Bloomind to learn Kotlin Multiplatform and Swift while bringing the app to Android and iOS.

### Source excerpt

Have you ever heard a piece of advice that felt like it could change your life, and a week later you couldn't even remember what it was? That happened to me more times than I'd like to admit. And after a while I realized it wasn't just about forgetting a quote or a tip. I was forgetting the things I actually wanted to become. This is the story of why I built Bloomind, what problem I'm trying to solve, and how building it turned into a challenge of its own. Learning never stops, in code and in life I've been on my self-improvement path for the last 5 or 6 years. During that time I noticed something that I already knew very well from my job as a software developer. In programming, you can't stop learning. Languages change, frameworks come and go, and the moment you stop learning, you start falling behind. It turns out life works in a very similar way. If you want your life to get better, you need to keep learning and discovering new things, about your health, your relationships, your work and yourself. Luckily, there is no shortage of great material. Over the years I found so many helpful lessons in books and podcasts. Some of them really changed how I think and how I live. The problem: I kept forgetting But there was a catch. I would read a book, highlight the parts I liked, listen to a great podcast episode, and feel motivated. Then, a few weeks later, most of it was gone. Even worse, I would forget what I was striving for. The goals and principles that felt so clear while I was reading slowly faded away, and I would fall back into the same old habits. Later I learned that this is completely normal. Our memory drops very fast after we learn something, unless we come back to it. I wrote about the science behind this, and what you can do about it, in How to Remember What You Read: 7 Techniques That Actually Work. The bigger problem: everyone is fighting for our focus There was another thing I couldn't ignore. Today's technology, and social media especially, is built t

## Why Bother Me Again? Benchmarking Personal Agent Memory for Interaction Preferences

DevFeed: [Why Bother Me Again? Benchmarking Personal Agent Memory for Interaction Preferences](<https://devfeed.tech/articles/why-bother-me-again-benchmarking-personal-agent-memory-for-interaction-preferences-98067.md>)

Original publisher: [Read original article](<https://arxiv.org/abs/2610.30485>)

Author: Jialin Li, Zhenhao Chen, Hanjun Luo, Hanan Salam

Published: 2026-10-23T04:00:00Z

Content type: article

Language: en

Sources: [arXiv: Artificial Intelligence](<https://devfeed.tech/sources/arxiv-artificial-intelligence.md>)

Topics: [AI Agent](<https://devfeed.tech/topics/ai-agent.md>), [User Experience](<https://devfeed.tech/topics/user-experience.md>), [Machine learning](<https://devfeed.tech/topics/machine-learning.md>), [Dynamic AI user experience](<https://devfeed.tech/topics/dynamic-ai-user-experience.md>), [Retrieval Augmented Generation (RAG)](<https://devfeed.tech/topics/retrieval-augmented-generation-rag.md>)

Tags: [agent](<https://devfeed.tech/tags/agent.md>), [agent-memory](<https://devfeed.tech/tags/agent-memory.md>), [agents](<https://devfeed.tech/tags/agents.md>), [analysis](<https://devfeed.tech/tags/analysis.md>), [arxiv](<https://devfeed.tech/tags/arxiv.md>), [behavior](<https://devfeed.tech/tags/behavior.md>), [benchmarking](<https://devfeed.tech/tags/benchmarking.md>), [benchmarks](<https://devfeed.tech/tags/benchmarks.md>), [context](<https://devfeed.tech/tags/context.md>), [cs-ai](<https://devfeed.tech/tags/cs-ai.md>), [cs-cl](<https://devfeed.tech/tags/cs-cl.md>), [dataset](<https://devfeed.tech/tags/dataset.md>), [environment](<https://devfeed.tech/tags/environment.md>), [evaluation](<https://devfeed.tech/tags/evaluation.md>), [event-driven](<https://devfeed.tech/tags/event-driven.md>), [feedback](<https://devfeed.tech/tags/feedback.md>), [file](<https://devfeed.tech/tags/file.md>), [habits](<https://devfeed.tech/tags/habits.md>), [horizon](<https://devfeed.tech/tags/horizon.md>), [interaction](<https://devfeed.tech/tags/interaction.md>), [memory](<https://devfeed.tech/tags/memory.md>), [personal-agent](<https://devfeed.tech/tags/personal-agent.md>)

### AI overview

MemPABench evaluates whether personal agents learn and act on users' interaction preferences over long-horizon tasks involving when to clarify, confirm, or act autonomously. It uses four simulated users, 14 work and personal preferences, and feedback across 99 sessions over four months, including five preference changes per user. Across four memory systems and four LLM backbones, retrieval-based systems (Mem0, MemOS, and simple RAG) did not outperform No Memory in preference selection. File-based memory improved accuracy but sometimes applied preferences outside relevant contexts. The abstract reports that current systems struggle to retrieve preferences, adapt to changes, and override default interaction habits even when the right preference is available.

### Source excerpt

arXiv:2610.30485v1 Announce Type: new Abstract: Personal intelligence systems are taking on increasingly complex everyday tasks, yet repeated questions, unnecessary confirmations, and unwanted outreach can turn capable assistance into interaction burden. Reducing this burden requires agents to remember how users want to be assisted. However, existing memory benchmarks focus on factual recall and personalized answers and rarely test how agents learn and act on interaction preferences. We introduce MemPABench, an interactive environment for on-policy evaluation of memory in personal agents. MemPABench poses long-horizon tasks requiring agents to decide when to clarify, confirm, or act autonomously. Four grounded simulated users hold 14 preferences across work and personal contexts. Their feedback spans 99 sessions over four months, with five event-driven changes per user testing memory updates. We evaluate preference selection, delivered behavior, and sensitivity to context and preference change. Evaluating four memory systems across four LLM backbones, we find that current memory brings limited gains in preference selection. Retrieval-based systems (i.e. Mem0, MemOS, simple RAG) do not outperform No Memory, while File-based memory improves accuracy but applies preferences beyond relevant contexts. Our analysis shows that current memory struggles to retrieve interaction preferences and adapt to preference changes. Even with the correct preference available, overriding the agent's default interaction habits remains challenging. The environment and dataset are available at https://mempabench.com.

## Supply Chain Security for the Age of AI-Speed Exploits

DevFeed: [Supply Chain Security for the Age of AI-Speed Exploits](<https://devfeed.tech/articles/supply-chain-security-for-the-age-of-ai-speed-exploits-95996.md>)

Original publisher: [Read original article](<https://realpython.com/python-supply-chain-security/>)

Author: Philipp Acsany

Published: 2026-10-22T14:00:00Z

Content type: tutorial

Language: en

Sources: [Real Python](<https://devfeed.tech/sources/real-python.md>)

Topics: [supply-chain-security](<https://devfeed.tech/topics/supply-chain-security.md>), [litellm supply chain attack](<https://devfeed.tech/topics/litellm-supply-chain-attack.md>), [litellm attack](<https://devfeed.tech/topics/litellm-attack.md>), [software supply-chain attack](<https://devfeed.tech/topics/software-supply-chain-attack.md>), [software composition analysis](<https://devfeed.tech/topics/software-composition-analysis.md>), [credential-based attacks](<https://devfeed.tech/topics/credential-based-attacks.md>), [CI/CD](<https://devfeed.tech/topics/cicd.md>), [ai security](<https://devfeed.tech/topics/ai-security.md>), [Secret Scanning](<https://devfeed.tech/topics/secret-scanning.md>), [litellm](<https://devfeed.tech/topics/litellm.md>)

Tags: [access-tokens](<https://devfeed.tech/tags/access-tokens.md>), [admin](<https://devfeed.tech/tags/admin.md>), [administrator](<https://devfeed.tech/tags/administrator.md>), [agent](<https://devfeed.tech/tags/agent.md>), [agentic](<https://devfeed.tech/tags/agentic.md>), [agentic-ai](<https://devfeed.tech/tags/agentic-ai.md>), [agentic-ai-framework](<https://devfeed.tech/tags/agentic-ai-framework.md>), [agents](<https://devfeed.tech/tags/agents.md>), [ai](<https://devfeed.tech/tags/ai.md>), [ai-assisted](<https://devfeed.tech/tags/ai-assisted.md>), [attacks](<https://devfeed.tech/tags/attacks.md>), [conf](<https://devfeed.tech/tags/conf.md>), [exploits](<https://devfeed.tech/tags/exploits.md>), [habits](<https://devfeed.tech/tags/habits.md>), [litellm](<https://devfeed.tech/tags/litellm.md>), [python](<https://devfeed.tech/tags/python.md>), [security](<https://devfeed.tech/tags/security.md>), [speed](<https://devfeed.tech/tags/speed.md>), [supply-chain](<https://devfeed.tech/tags/supply-chain.md>), [supply-chain-security](<https://devfeed.tech/tags/supply-chain-security.md>)

### AI overview

Python supply chain attacks can compromise projects through dependencies, build or release pipelines, and credentials. The LiteLLM incident shows how stolen GitHub CLI tokens were used to redirect a release workflow, while a `.pth` startup hook ran credential-stealing code whenever Python started; the package was available for under two hours. The tutorial gives shell and Docker checks that inspect suspect files without starting the affected Python environment, and advises isolating affected systems, preserving evidence, rebuilding from known-good images, and rotating exposed credentials. For prevention, it recommends locked dependencies, cooldowns for new releases, and vulnerability audits, while noting that cooldowns can delay fixes and clean audits do not rule out malware. It also advises requiring approval before coding agents install packages, restricting agent access to secrets, using short-lived scoped credentials, and protecting publishing workflows. The excerpt includes concrete uv and pip configuration, audit commands, and startup-hook scanning guidance.

### Source excerpt

Learn Python supply chain security as AI speeds up attacks: what the LiteLLM backdoor teaches, how to check your setup, and habits that last.

## Finding a visual style for your game: Tips for beginners

DevFeed: [Finding a visual style for your game: Tips for beginners](<https://devfeed.tech/articles/finding-a-visual-style-for-your-game-tips-for-beginners-103446.md>)

Original publisher: [Read original article](<https://unity.com/blog/game-art-styles-guide>)

Author: Unity Team

Published: 2026-10-12T00:00:00Z

Content type: article

Language: en

Sources: [Unity](<https://devfeed.tech/sources/unity.md>)

Topics: [Image](<https://devfeed.tech/topics/image.md>), [3D](<https://devfeed.tech/topics/3d.md>)

Tags: [2](<https://devfeed.tech/tags/2.md>), [2026](<https://devfeed.tech/tags/2026.md>), [3](<https://devfeed.tech/tags/3.md>), [3d](<https://devfeed.tech/tags/3d.md>), [about](<https://devfeed.tech/tags/about.md>), [all](<https://devfeed.tech/tags/all.md>), [also](<https://devfeed.tech/tags/also.md>), [angular](<https://devfeed.tech/tags/angular.md>), [art](<https://devfeed.tech/tags/art.md>), [beginner](<https://devfeed.tech/tags/beginner.md>), [beginners](<https://devfeed.tech/tags/beginners.md>), [cel](<https://devfeed.tech/tags/cel.md>), [game](<https://devfeed.tech/tags/game.md>), [guide](<https://devfeed.tech/tags/guide.md>), [habits](<https://devfeed.tech/tags/habits.md>), [look](<https://devfeed.tech/tags/look.md>), [pixel](<https://devfeed.tech/tags/pixel.md>), [pixel-art](<https://devfeed.tech/tags/pixel-art.md>), [style](<https://devfeed.tech/tags/style.md>), [tips](<https://devfeed.tech/tags/tips.md>)

### AI overview

Choose a game art style that fits the game's idea, audience, available time and target hardware, then keep its visual rules consistent. The guide covers pixel art, low-poly, cel-shaded, hand-drawn, vector, realistic 3D and monochrome styles, noting their characteristics and tradeoffs: for example, vector art scales cleanly and keeps files small, while realistic 3D is especially time- and resource-intensive. Practical habits include setting a resolution or palette, defining shape language, checking silhouettes, giving gameplay and interface areas their own consistent rules, and recording decisions in a brief art guide. Consistency across assets matters more than detail alone; mismatched resolution, simplification, outlines or textures can make a game feel unfinished.

### Source excerpt

A beginner's guide to game art styles - pixel art, low-poly, cel-shaded, hand-drawn, and more - and five habits for keeping your game's look consistent.

## How to Become a Google Developer Expert (GDE) in 2026: The Process and Honest Tips

DevFeed: [How to Become a Google Developer Expert (GDE) in 2026: The Process and Honest Tips](<https://devfeed.tech/articles/how-to-become-a-google-developer-expert-gde-in-2026-the-process-and-honest-tips-66514.md>)

Original publisher: [Read original article](<https://medium.com/google-developer-experts/how-to-become-a-google-developer-expert-gde-in-2026-the-process-and-honest-tips-6f0eae2931f1?source=rss----a67bd6fa7d58---4>)

Author: Geeta Kakrani

Published: 2026-10-06T22:32:38Z

Content type: tutorial

Language: en

Sources: [Google Developer Experts](<https://devfeed.tech/sources/google-developer-experts-medium.md>)

Topics: [developer-relations](<https://devfeed.tech/topics/developer-relations.md>), [coding-community](<https://devfeed.tech/topics/coding-community.md>), [Developer Events](<https://devfeed.tech/topics/developer-events.md>), [AI Chat](<https://devfeed.tech/topics/ai-chat.md>), [Google](<https://devfeed.tech/topics/google.md>)

Tags: [2](<https://devfeed.tech/tags/2.md>), [2026](<https://devfeed.tech/tags/2026.md>), [ai](<https://devfeed.tech/tags/ai.md>), [community](<https://devfeed.tech/tags/community.md>), [content](<https://devfeed.tech/tags/content.md>), [developer](<https://devfeed.tech/tags/developer.md>), [developer-community](<https://devfeed.tech/tags/developer-community.md>), [events](<https://devfeed.tech/tags/events.md>), [experience](<https://devfeed.tech/tags/experience.md>), [faq](<https://devfeed.tech/tags/faq.md>), [gde](<https://devfeed.tech/tags/gde.md>), [generative-ai](<https://devfeed.tech/tags/generative-ai.md>), [google](<https://devfeed.tech/tags/google.md>), [google-developer-expert](<https://devfeed.tech/tags/google-developer-expert.md>), [groups](<https://devfeed.tech/tags/groups.md>), [habits](<https://devfeed.tech/tags/habits.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [impact](<https://devfeed.tech/tags/impact.md>), [net](<https://devfeed.tech/tags/net.md>), [process](<https://devfeed.tech/tags/process.md>), [tips](<https://devfeed.tech/tags/tips.md>)

### AI overview

The article says new GDE candidates cannot apply directly: they need a referral from a Google employee or active GDE, then submit a form and, if reviewed positively, complete a technical product interview. It recommends building a portfolio over time, ideally at least two years, that shows expertise and community contributions such as speaking, writing, teaching, and mentoring. Candidates must be at least 18 and interview in English; a degree is not required, and event organizing alone may not qualify. The author suggests tracking activities and proof in a spreadsheet to spot gaps and prepare the application. Applications can be resubmitted six months after an initial submission. Membership is reviewed annually, and the article advises checking the official FAQ because the process may change.

### Source excerpt

"How did you become a GDE?" I get this question almost every week. Sometimes it comes from a student, sometimes from a developer with ten years of experience. The question is always the same, and the worry behind it is the same too: "Where do I even apply?" Here is the short answer: you can't apply directly. And that surprises most people. So in this post I want to give you the full picture. What a GDE is, how the process works today, and the small habits that helped me. I'll keep my own story short, because this post is about your path, not mine. First, what is a GDE? A Google Developer Expert is an independent professional (not a Google employee) whom Google recognizes for deep knowledge of Google technologies and for helping the developer community. According to the official FAQ, the program has over 1,000 members worldwide. GDEs speak at events, create content, run workshops, mentor others and give feedback to Google product teams. Membership is also reviewed every year, so the title is not a trophy you keep forever. You keep it by staying active. A quick note on my own journey I started my career in 2003 as a technical trainer and software developer. Over the years I moved from Java, C++ and .NET to machine learning, and later to Generative AI and AI agents. Teaching was always the thread that connected everything. Before I became a GDE, I was already part of the Google Developer Groups community and I was already speaking at events. I became a GDE (AI/ML) in 2024. There was no secret trick. There was a long list of small things done again and again, and one very boring habit that I will share below. The GDE process today (2026) The process has changed over the years, so please don't rely on old blog posts, including old ones of mine. Here is what the official GDE FAQ says right now. Step 1: Build your portfolio Google asks you to show your impact over a long period, ideally at least 2 years, in the technical area you are applying for. Step 2: Get referred (nom

## Helping personal agents shop more intelligently and reliably with Link

DevFeed: [Helping personal agents shop more intelligently and reliably with Link](<https://devfeed.tech/articles/helping-personal-agents-shop-more-intelligently-and-reliably-with-link-61977.md>)

Original publisher: [Read original article](<https://stripe.com/blog/helping-personal-agents-shop-more-intelligently-and-reliably-with-link>)

Author: Dan Hill

Published: 2026-09-29T00:00:00Z

Content type: release

Language: en

Sources: [Stripe](<https://devfeed.tech/sources/stripe-blog.md>)

Topics: [AI for customer service automation](<https://devfeed.tech/topics/ai-for-customer-service-automation.md>), [A/B Testing](<https://devfeed.tech/topics/a-b-testing.md>)

Tags: [3d](<https://devfeed.tech/tags/3d.md>), [agentic](<https://devfeed.tech/tags/agentic.md>), [ai](<https://devfeed.tech/tags/ai.md>), [ai-agents](<https://devfeed.tech/tags/ai-agents.md>), [authorization](<https://devfeed.tech/tags/authorization.md>), [checkout](<https://devfeed.tech/tags/checkout.md>), [complete](<https://devfeed.tech/tags/complete.md>), [costs](<https://devfeed.tech/tags/costs.md>), [financial](<https://devfeed.tech/tags/financial.md>), [flight](<https://devfeed.tech/tags/flight.md>), [grok-bot](<https://devfeed.tech/tags/grok-bot.md>), [habits](<https://devfeed.tech/tags/habits.md>), [instinct](<https://devfeed.tech/tags/instinct.md>), [muse](<https://devfeed.tech/tags/muse.md>), [personal](<https://devfeed.tech/tags/personal.md>), [product](<https://devfeed.tech/tags/product.md>), [recommendations](<https://devfeed.tech/tags/recommendations.md>), [shop](<https://devfeed.tech/tags/shop.md>)

### AI overview

Link introduces payment features for personal shopping agents: incremental authorization for price changes, guidance for checkout obstacles, and financial insights for personalized product recommendations. The article also describes purchase protection, though the supplied text ends before detailing it.

### Source excerpt

As agents take on more purchases, agent builders have increasingly asked us to help agents navigate checkout and earn consumer trust. Today, we're sharing three major improvements to support this broader set of needs.

## The 10 Habits for a Good Software Engineering Day

DevFeed: [The 10 Habits for a Good Software Engineering Day](<https://devfeed.tech/articles/the-10-habits-for-a-good-software-engineering-day-55504.md>)

Original publisher: [Read original article](<https://strategizeyourcareer.com/p/the-10-protocols-for-a-good-software>)

Author: Fran Soto

Published: 2026-09-20T04:01:22Z

Content type: article

Language: en

Sources: [Strategize Your Career](<https://devfeed.tech/sources/strategize-your-career.md>)

Topics: [Software Engineering](<https://devfeed.tech/topics/software-engineering.md>), [engineering-culture](<https://devfeed.tech/topics/engineering-culture.md>)

Tags: [engineering](<https://devfeed.tech/tags/engineering.md>), [habits](<https://devfeed.tech/tags/habits.md>), [software-engineer](<https://devfeed.tech/tags/software-engineer.md>), [software-engineering](<https://devfeed.tech/tags/software-engineering.md>), [work](<https://devfeed.tech/tags/work.md>)

### AI overview

The article presents ten habits intended to help software engineers choose what matters, protect focused engineering work, maintain their codebases, and support career growth. It begins with defining the most important task of the day instead of trying to clear the inbox.

### Source excerpt

There is always more work than time. These protocols help you choose what matters, protect focused engineering work, and finish the day ready for tomorrow.

## Rapid7 Named Among Notable Vendors in Forrester MDR Landscape: Why the Future is Exposure-informed, Preemptive MDR

DevFeed: [Rapid7 Named Among Notable Vendors in Forrester MDR Landscape: Why the Future is Exposure-informed, Preemptive MDR](<https://devfeed.tech/articles/rapid7-named-among-notable-vendors-in-forrester-mdr-landscape-why-the-future-is-exposure-informed-preemptive-mdr-50712.md>)

Original publisher: [Read original article](<https://www.rapid7.com/blog/post/dr-forrester-mdr-landscape-notable-vendor-preemptive>)

Author: Rapid7

Published: 2026-09-14T14:51:07Z

Content type: article

Language: en

Sources: [Rapid7 Cybersecurity](<https://devfeed.tech/sources/rapid7-cybersecurity-blog.md>)

Topics: [Exposure Management](<https://devfeed.tech/topics/exposure-management.md>), [alert triage](<https://devfeed.tech/topics/alert-triage.md>), [Agentic SOC](<https://devfeed.tech/topics/agentic-soc.md>), [Vulnerabilities](<https://devfeed.tech/topics/vulnerabilities.md>)

Tags: [2026](<https://devfeed.tech/tags/2026.md>), [ai](<https://devfeed.tech/tags/ai.md>), [alerts](<https://devfeed.tech/tags/alerts.md>), [analysts](<https://devfeed.tech/tags/analysts.md>), [asset](<https://devfeed.tech/tags/asset.md>), [attack](<https://devfeed.tech/tags/attack.md>), [attack-surface](<https://devfeed.tech/tags/attack-surface.md>), [business](<https://devfeed.tech/tags/business.md>), [command](<https://devfeed.tech/tags/command.md>), [connect](<https://devfeed.tech/tags/connect.md>), [context](<https://devfeed.tech/tags/context.md>), [convergence](<https://devfeed.tech/tags/convergence.md>), [cybersecurity-company](<https://devfeed.tech/tags/cybersecurity-company.md>), [detection](<https://devfeed.tech/tags/detection.md>), [detection-and-response](<https://devfeed.tech/tags/detection-and-response.md>), [disrupt](<https://devfeed.tech/tags/disrupt.md>), [exposure-assessment-platform](<https://devfeed.tech/tags/exposure-assessment-platform.md>), [exposure-management](<https://devfeed.tech/tags/exposure-management.md>), [focus](<https://devfeed.tech/tags/focus.md>), [future](<https://devfeed.tech/tags/future.md>), [habits](<https://devfeed.tech/tags/habits.md>), [managed-detection-and-response](<https://devfeed.tech/tags/managed-detection-and-response.md>), [managed-detection-and-response-mdr](<https://devfeed.tech/tags/managed-detection-and-response-mdr.md>), [managed-security-solutions](<https://devfeed.tech/tags/managed-security-solutions.md>), [rapid7](<https://devfeed.tech/tags/rapid7.md>), [vulnerability-management](<https://devfeed.tech/tags/vulnerability-management.md>)

### AI overview

The excerpt presents MDR as moving toward a combined, accountable service linking exposure management, detection and response. Rapid7 says its MDR feeds vulnerability findings and asset risk scores into alerts and investigations to prioritize likely business-impacting exposures; it was named among notable vendors in Forrester's Q3 2026 MDR Landscape, which the article cites as predicting convergence with exposure and posture improvement. The article urges buyers to inspect providers' investigation reasoning, response actions and safeguards for automation, including a redacted case file and how uncertainty is handled. Rapid7 describes its own approach as AI-assisted but human-led, with actions logged and unlimited incident response. These are company claims; the text notes Forrester does not endorse vendors.

### Source excerpt

The managed detection and response (MDR) market has reached a turning point. We've gone beyond the baseline of 24/7 monitoring focusing on the speed of detection and moved to a world with a convergence of exposure management and response to deliver measurable, outcome-based defenses of a larger, AI-driven attack surface. For anyone evaluating MDR right now, the Managed Detection and Response Services Landscape, Q3 2026 report by Forrester is a useful map that lays out where the market is heading. This is a market that has moved beyond "do you cover my telemetry?" to "Can a provider connect and prove that its activity is tied to real reduction in risk?". Rapid7 was named among the notable providers in this Forrester MDR Landscape. Being included matters to us, but the more interesting story is in what Forrester says about the market itself. Detection and exposure are becoming one service One of the report's clearest signals is directional: Forrester writes that "MDR services will converge with exposure and posture improvement." That convergence is the whole basis of Rapid7 MDR and our Command Platform strategy. Most MDR services react after an attacker has already broken in. Rapid7 designed its service to anticipate where attackers are likely to succeed and disrupt them earlier. We combine exposure context, detection, and response into a single operational loop, where vulnerability findings and asset risk scoring flow directly into alerts and investigations. This means analysts can cut noise and focus response on the exposures most likely to cause business impact. It's what we mean by exposure-informed, Preemptive MDR: The same context that tells you where you're weak is the context that sharpens how you detect and respond. For buyers, the practical implication is that old procurement habits are changing. Buyers used to invest in detection from one vendor, exposure management from another, and then hope the two solutions would seamlessly talk to each other. That appr

## Why Readiness Should Be a Habit, Not a Final Gate

DevFeed: [Why Readiness Should Be a Habit, Not a Final Gate](<https://devfeed.tech/articles/why-readiness-should-be-a-habit-not-a-final-gate-37548.md>)

Original publisher: [Read original article](<https://deanhume.com/why-readiness-should-be-a-habit-not-a-final-gate/>)

Author: Dean Hume

Published: 2026-08-03T08:41:00Z

Content type: opinion

Language: en

Sources: [Dean Hume](<https://devfeed.tech/sources/dean-hume.md>)

Topics: [Software Testing](<https://devfeed.tech/topics/software-testing.md>), [Software](<https://devfeed.tech/topics/software.md>), [systems](<https://devfeed.tech/topics/systems.md>), [bug](<https://devfeed.tech/topics/bug.md>), [Network](<https://devfeed.tech/topics/network.md>), [API](<https://devfeed.tech/topics/api.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [bug](<https://devfeed.tech/tags/bug.md>), [game-development](<https://devfeed.tech/tags/game-development.md>), [habits](<https://devfeed.tech/tags/habits.md>), [launches](<https://devfeed.tech/tags/launches.md>), [network](<https://devfeed.tech/tags/network.md>), [quality](<https://devfeed.tech/tags/quality.md>), [teams](<https://devfeed.tech/tags/teams.md>), [technical-leadership](<https://devfeed.tech/tags/technical-leadership.md>), [technical-program-manager](<https://devfeed.tech/tags/technical-program-manager.md>), [testing](<https://devfeed.tech/tags/testing.md>)

### AI overview

The article argues that software quality is established through everyday team habits rather than a final testing phase. It emphasizes defining expected behavior for interruptions and failures early, instead of labeling unspecified behavior as bugs during release pressure.

### Source excerpt

Quality isn't decided in the final review. The teams with the smoothest launches built it through daily habits, long before anyone thought about a release date.

## Taming my intimidating RSS reader queue

DevFeed: [Taming my intimidating RSS reader queue](<https://devfeed.tech/articles/taming-my-intimidating-rss-reader-queue-38557.md>)

Original publisher: [Read original article](<https://msfjarvis.dev/posts/taming-my-intimidating-rss-reader-queue/>)

Author: Harsh Shandilya

Published: 2026-06-18T07:22:00Z

Content type: opinion

Language: en

Sources: [Posts on Harsh Shandilya](<https://devfeed.tech/sources/posts-on-harsh-shandilya.md>)

Topics: [Miniflux](<https://devfeed.tech/topics/miniflux.md>), [RSS](<https://devfeed.tech/topics/rss.md>)

Tags: [analysis](<https://devfeed.tech/tags/analysis.md>), [habits](<https://devfeed.tech/tags/habits.md>), [miniflux](<https://devfeed.tech/tags/miniflux.md>), [queue](<https://devfeed.tech/tags/queue.md>), [reading](<https://devfeed.tech/tags/reading.md>), [rss](<https://devfeed.tech/tags/rss.md>)

### AI overview

The author explains how changes to Miniflux improved their RSS reading experience. They found that perception of an overwhelming unread queue, rather than individual feeds alone, was the main problem, and reduced the pressure by hiding high-volume or low-signal feeds from the global unread list.

### Source excerpt

How I regained control of my reading habits

## Staying Technical as a Technical Program Manager

DevFeed: [Staying Technical as a Technical Program Manager](<https://devfeed.tech/articles/staying-technical-as-a-technical-program-manager-37545.md>)

Original publisher: [Read original article](<https://deanhume.com/staying-technical-as-a-technical-program-manager/>)

Author: Dean Hume

Published: 2026-02-18T11:39:39Z

Content type: opinion

Language: en

Sources: [Dean Hume](<https://devfeed.tech/sources/dean-hume.md>)

Topics: [software-development](<https://devfeed.tech/topics/software-development.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [engineering-culture](<https://devfeed.tech/topics/engineering-culture.md>), [Raspberry Pi](<https://devfeed.tech/topics/raspberry-pi.md>), [Script](<https://devfeed.tech/topics/script.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [development](<https://devfeed.tech/tags/development.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [game-development](<https://devfeed.tech/tags/game-development.md>), [habits](<https://devfeed.tech/tags/habits.md>), [hardware](<https://devfeed.tech/tags/hardware.md>), [learn](<https://devfeed.tech/tags/learn.md>), [practices](<https://devfeed.tech/tags/practices.md>), [scripting](<https://devfeed.tech/tags/scripting.md>), [skills](<https://devfeed.tech/tags/skills.md>), [technical](<https://devfeed.tech/tags/technical.md>), [technical-leadership](<https://devfeed.tech/tags/technical-leadership.md>)

### AI overview

A Technical Program Manager shares practical habits for staying technically sharp while managing programs, including occasional coding, writing technical content, following technology blogs, and building hands-on side projects.

### Source excerpt

Learn practical ways Technical Program Managers can stay technical - daily habits, internal engineering practices, and hands-on routines that keep skills sharp while leading programs at scale.

## Using Coolify for subdomain direct redirect without a app resource

DevFeed: [Using Coolify for subdomain direct redirect without a app resource](<https://devfeed.tech/articles/using-coolify-for-subdomain-direct-redirect-without-a-app-resource-38832.md>)

Original publisher: [Read original article](<https://lengrand.fr/using-coolify-for-subdomain-direct-redirect-without-a-app-resource/>)

Author: Julien

Published: 2025-09-14T19:07:33Z

Content type: tutorial

Language: en

Sources: [Thoughts, stories and ideas.](<https://devfeed.tech/sources/thoughts-stories-and-ideas.md>)

Topics: [proxy](<https://devfeed.tech/topics/proxy.md>), [Redirection](<https://devfeed.tech/topics/redirection.md>), [YAML](<https://devfeed.tech/topics/yaml.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [TLS (Transport Layer Security)](<https://devfeed.tech/topics/tls.md>), [interface](<https://devfeed.tech/topics/interface.md>)

Tags: [coolify](<https://devfeed.tech/tags/coolify.md>), [devops](<https://devfeed.tech/tags/devops.md>), [dns](<https://devfeed.tech/tags/dns.md>), [habits](<https://devfeed.tech/tags/habits.md>), [proxy](<https://devfeed.tech/tags/proxy.md>), [ssl](<https://devfeed.tech/tags/ssl.md>), [tls](<https://devfeed.tech/tags/tls.md>), [traefik](<https://devfeed.tech/tags/traefik.md>), [yaml](<https://devfeed.tech/tags/yaml.md>)

### AI overview

A tutorial showing how to use Coolify's dynamic proxy configuration to redirect a subdomain to an external URL without creating a full application resource. It uses a YAML configuration with Traefik to define the redirect, router, TLS handling, and required dummy service.

### Source excerpt

Coolify's dynamic proxy configuration lets you redirect subdomains to external URLs without creating full resources. Using a simple YAML file with Traefik configuration, you can set up SSL-enabled redirects directly through Coolify's interface.

## The Good Prompt

DevFeed: [The Good Prompt](<https://devfeed.tech/articles/the-good-prompt-35071.md>)

Original publisher: [Read original article](<https://medium.com/gumgum-tech/the-good-prompt-805da34a89c6?source=rss----d4c1dee0f87b---4>)

Author: Chris Jones

Published: 2025-08-04T11:30:11Z

Content type: article

Language: en

Sources: [GumGum](<https://devfeed.tech/sources/gumgum.md>)

Topics: [User interface design](<https://devfeed.tech/topics/ui-design.md>), [User Interfaces](<https://devfeed.tech/topics/user-interfaces.md>), [Interaction Design](<https://devfeed.tech/topics/interaction-design.md>), [User Experience](<https://devfeed.tech/topics/user-experience.md>), [prompt](<https://devfeed.tech/topics/prompt.md>), [AI interaction best practices](<https://devfeed.tech/topics/ai-interaction-best-practices.md>), [AI Foundation Models](<https://devfeed.tech/topics/ai-foundation-models.md>), [Open Source Models & Datasets](<https://devfeed.tech/topics/open-source-models-datasets.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [ai-models](<https://devfeed.tech/tags/ai-models.md>), [all](<https://devfeed.tech/tags/all.md>), [apps](<https://devfeed.tech/tags/apps.md>), [collaboration](<https://devfeed.tech/tags/collaboration.md>), [design](<https://devfeed.tech/tags/design.md>), [google](<https://devfeed.tech/tags/google.md>), [habits](<https://devfeed.tech/tags/habits.md>), [interface](<https://devfeed.tech/tags/interface.md>), [interfaces](<https://devfeed.tech/tags/interfaces.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [models](<https://devfeed.tech/tags/models.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [open-source-ai-models](<https://devfeed.tech/tags/open-source-ai-models.md>), [paradigm-shift](<https://devfeed.tech/tags/paradigm-shift.md>), [phone](<https://devfeed.tech/tags/phone.md>), [powerful](<https://devfeed.tech/tags/powerful.md>), [product](<https://devfeed.tech/tags/product.md>), [product-design](<https://devfeed.tech/tags/product-design.md>), [prompt](<https://devfeed.tech/tags/prompt.md>), [question](<https://devfeed.tech/tags/question.md>)

### AI overview

As powerful AI models become common and relatively cheap, the article argues that product value can come from interfaces that help people work with them. Users must move beyond search-style keywords toward conversational back-and-forth: a better prompt can produce more useful results. It identifies two emerging patterns: context-aware interfaces that adapt to a user's identity and workflow, and refinement interfaces that let people add the final human judgment to AI work that is nearly complete. The design challenge, it concludes, is to shape conversations that help users arrive at a good prompt.

### Source excerpt

AI spells like a designer! Let's jump straight in here. Mobile arrived with its associated apps, and we adapted -- 'mobile-first' for the win. Social media, with its infinity (doom) scroll, changed a few habits too; ask any bored teenager. Big things come along, and we expect a paradigm shift in the UI. And yes, our screens and habits have changed, but for the most part, the interactions still feel familiar. So, will this time be different? Sure, AI is helping us work faster, smarter. But the question for me, as a Product Designer, is how it will change the nature of design itself. A wise colleague recently shared a thought that hit a chord: with open-source AI models becoming incredibly powerful, fast, and (relatively) cheap, does the true value lie in the models themselves, or in the interfaces we use to interact with them? For all its fantasia, AI is already mundane. Predictive text on your phone -- it's a form of AI we use dozens of times a day without a second thought. As AI becomes this commonplace, the real opportunity shifts. If powerful models are ten-a-penny, then an elegant, well-thought-out user interface is an opportunity to elevate one product above another. Designing for a Conversation So what does that AI interface look like? A simple text box is often a familiar starting point. It isn't the ultimate UX, but we shouldn't forget that Google did alright by sticking one in the middle of a blank screen. Removing all the noise and letting the results be the magic is a powerful foundation. The thing is, AI may start with a text box, but it expects us to behave differently. For the past two decades, search engines have trained us to be terse -- to use keywords, not sentences. AI asks us to unlearn that habit entirely. It wants to converse. I treat my interactions with AI as a back-and-forth collaboration; the real breakthrough comes when you stop issuing commands. We all feel the pain of a bad prompt as it delivers generic, lifeless results that drive you away

## A simple programming productivity trick: leave work unfinished to reach flow

DevFeed: [A simple programming productivity trick: leave work unfinished to reach flow](<https://devfeed.tech/articles/a-simple-programming-productivity-trick-leave-work-unfinished-to-reach-flow-39096.md>)

Original publisher: [Read original article](<https://read.engineerscodex.com/p/simple-software-engineering-habits>)

Author: Engineer's Codex

Published: 2023-12-15T02:05:00Z

Content type: opinion

Language: en

Sources: [Engineer's Codex](<https://devfeed.tech/sources/engineer-s-codex.md>)

Topics: [Software Engineering](<https://devfeed.tech/topics/software-engineering.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [software-development](<https://devfeed.tech/topics/software-development.md>), [keyboard](<https://devfeed.tech/topics/keyboard.md>)

Tags: [coding-habits](<https://devfeed.tech/tags/coding-habits.md>), [commands](<https://devfeed.tech/tags/commands.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [flow](<https://devfeed.tech/tags/flow.md>), [habits](<https://devfeed.tech/tags/habits.md>), [keyboard](<https://devfeed.tech/tags/keyboard.md>), [keyboard-shortcuts](<https://devfeed.tech/tags/keyboard-shortcuts.md>), [learning](<https://devfeed.tech/tags/learning.md>), [productivity](<https://devfeed.tech/tags/productivity.md>), [programming](<https://devfeed.tech/tags/programming.md>), [shortcuts](<https://devfeed.tech/tags/shortcuts.md>)

### AI overview

The article presents four software engineering and coding habits intended to improve productivity. It focuses on leaving work at a clear stopping point to resume more easily, learning keyboard and mouse shortcuts, saying no, and keeping a useful collection of commands.

### Source excerpt

A breakdown of 4 simple software engineering and coding habits that improved my productivity. These include keyboard shortcuts, learning to say no, reaching flow state faster, and keeping a big book of commands handy.

## Creating a writing habit from scratch

DevFeed: [Creating a writing habit from scratch](<https://devfeed.tech/articles/creating-a-writing-habit-from-scratch-40111.md>)

Original publisher: [Read original article](<https://korbonits.com/blog/2018-09-05-writing/>)

Published: 2018-09-05T20:00:00Z

Content type: opinion

Language: en

Sources: [Alex Korbonits](<https://devfeed.tech/sources/alex-korbonits.md>)

Topics: [Publishing](<https://devfeed.tech/topics/publishing.md>), [Website](<https://devfeed.tech/topics/website.md>)

Tags: [blog](<https://devfeed.tech/tags/blog.md>), [github](<https://devfeed.tech/tags/github.md>), [habits](<https://devfeed.tech/tags/habits.md>), [personal](<https://devfeed.tech/tags/personal.md>), [publishing](<https://devfeed.tech/tags/publishing.md>), [thoughts](<https://devfeed.tech/tags/thoughts.md>), [writing](<https://devfeed.tech/tags/writing.md>)

### AI overview

A personal reflection on trying to build a consistent writing habit. The author discusses publishing regularly, writing productivity tools, and how reading about existentialist writers motivated a renewed commitment to writing.

### Source excerpt

Rough notes from 2018 on building a writing habit -- published as-is, brackets and all.

## Habits of Successful React components

DevFeed: [Habits of Successful React components](<https://devfeed.tech/articles/habits-of-successful-react-components-52486.md>)

Original publisher: [Read original article](<http://www.jackfranklin.co.uk/blog/habits-of-successful-react-components/>)

Published: 2018-03-07T00:00:00Z

Content type: article

Language: en

Sources: [Jack Franklin](<https://devfeed.tech/sources/jack-franklin.md>)

Topics: [React](<https://devfeed.tech/topics/react.md>), [bestpractice](<https://devfeed.tech/topics/bestpractice.md>), [function](<https://devfeed.tech/topics/function.md>)

Tags: [2](<https://devfeed.tech/tags/2.md>), [3](<https://devfeed.tech/tags/3.md>), [api](<https://devfeed.tech/tags/api.md>), [component](<https://devfeed.tech/tags/component.md>), [components](<https://devfeed.tech/tags/components.md>), [compose](<https://devfeed.tech/tags/compose.md>), [data](<https://devfeed.tech/tags/data.md>), [guidelines](<https://devfeed.tech/tags/guidelines.md>), [habits](<https://devfeed.tech/tags/habits.md>), [http](<https://devfeed.tech/tags/http.md>), [job](<https://devfeed.tech/tags/job.md>), [logic](<https://devfeed.tech/tags/logic.md>), [react](<https://devfeed.tech/tags/react.md>), [render](<https://devfeed.tech/tags/render.md>), [responsibility](<https://devfeed.tech/tags/responsibility.md>), [state](<https://devfeed.tech/tags/state.md>), [user](<https://devfeed.tech/tags/user.md>), [users](<https://devfeed.tech/tags/users.md>)

### AI overview

The author's personal guidelines aim to make React components easier to understand, test, and maintain: give each component one responsibility and compose smaller components; move reusable data processing into external modules so it can be tested independently; document props consistently with PropTypes or TypeScript/Flow; keep `render` concise, extracting UI into components when that clarifies its inputs; derive values from props instead of storing duplicate state; use a consistent event-handler naming convention; and define handlers as class-property arrow functions to avoid explicit binding. The author presents these as preferences, notes arrow functions have drawbacks, and says the list is not exhaustive.

### Source excerpt

One of the best features of React, and one of the reasons I think so many people love using it, is that it gives you the freedom to choose what approach you're going to take. As a primarily view based library, React provides no out-the-box opinions on how you make HTTP requests, how you style your components, what naming conventions to use, and so on. It leaves all those decisions up to you. This is a good thing in my experience; often a set of conventions that worked well for one of your applications might not work so well for another and having that flexibility is something I've come to appreciate. That said, over the last few years of writing React components I've come up with a set of guidelines that I tend to follow, and in this post I wanted to share those below. I'd love to hear if you disagree with any of these (all of these are personal preference) or if you have any more to add to the list. 1. Has a single job or responsibility If you picked one rule out of this list to follow, it would be this one. The approach I try to take here is to have as many React components as I need and to never feel like I've got too many. Components are made to be composed together and as such you should compose them whenever it makes sense to avoid any one component doing too much. A good indication of this in action is if a component has a very long render method (see Point 5 for more). That will often hint that it's doing too much that could be delegated. A similar indicator is a component with a lot of state or props. If you're having to store a huge amount of data on a component, or take 10 props to ensure it can be configured correctly, then maybe you should instead have more components that take fewer props. Take for example, a component that fetches users from an API, lists them and lets you click on them to see the active user. It would have three distinct functions that would make up the component. Firstly, the HTTP logic in componentDidMount (I've left out error hand

## Heuristic Traps for Systems Operators

DevFeed: [Heuristic Traps for Systems Operators](<https://devfeed.tech/articles/heuristic-traps-for-systems-operators-12478.md>)

Original publisher: [Read original article](<http://brooker.co.za/blog/2015/11/05/heuristics.html>)

Author: Marc Brooker

Published: 2015-11-05T00:00:00Z

Content type: article

Language: en

Sources: [Marc Brooker's](<https://devfeed.tech/sources/marc-brooker-s-blog.md>)

Topics: [engineering-leadership](<https://devfeed.tech/topics/engineering-leadership.md>), [User Experience](<https://devfeed.tech/topics/user-experience.md>)

Tags: [avalanche](<https://devfeed.tech/tags/avalanche.md>), [behavior](<https://devfeed.tech/tags/behavior.md>), [business](<https://devfeed.tech/tags/business.md>), [computer](<https://devfeed.tech/tags/computer.md>), [computers](<https://devfeed.tech/tags/computers.md>), [culture](<https://devfeed.tech/tags/culture.md>), [daniel-kahneman](<https://devfeed.tech/tags/daniel-kahneman.md>), [data-loss](<https://devfeed.tech/tags/data-loss.md>), [death](<https://devfeed.tech/tags/death.md>), [designers](<https://devfeed.tech/tags/designers.md>), [disaster](<https://devfeed.tech/tags/disaster.md>), [education](<https://devfeed.tech/tags/education.md>), [experience](<https://devfeed.tech/tags/experience.md>), [habits](<https://devfeed.tech/tags/habits.md>), [instinct](<https://devfeed.tech/tags/instinct.md>), [intuition](<https://devfeed.tech/tags/intuition.md>), [knowledge](<https://devfeed.tech/tags/knowledge.md>), [operators](<https://devfeed.tech/tags/operators.md>), [risk](<https://devfeed.tech/tags/risk.md>), [systems](<https://devfeed.tech/tags/systems.md>)

### AI overview

The text argues that operators should periodically reassess familiar procedures: experience and intuition can help, but heuristics may also conceal risk, especially when conditions change. Drawing on avalanche-safety research, it says familiarity and social proof correlate with accidents, with those effects particularly strong among people with advanced safety training; commitment to finishing work may also encourage poor risk decisions. It connects commitment to Rasmussen's "gradient towards least effort" and suggests studying risk decisions in other fields can help deliberate System 2 thinking train intuitive System 1 responses. The author cautions that familiarity and others' successful actions may offer some evidence of safety, but neither is reliable on its own.

### Source excerpt

Heuristic Traps for Systems Operators What can we learn from avalanche safety? Powder magazine's new feature The Human Factor 2.0 is a fantastic read. It's a good disaster story, like the New York Times' Snow Fall: The Avalanche At Tunnel Creek, but looks deeply at a very interesting topic: the way that we make risk decisions. I think there are interesting lessons there for operators and designers of computer systems. "That's the brutal thing," Donovan said. "It's hard to get experience without exposing yourself to risk." The consequences of making bad decisions in back-country skiing can be life and death. As designers, builders and operators of systems of computers our bad decisions are generally less dramatic. But they are real. Data loss, customer disappointment, and business failure have all come as the results of making poor risk decisions. One way to mitigate those risks is experience, and it's product: intuition. Unfortunately, as David Page's article reminds us, intuition isn't always the route to safety. The difficulty, he explained, especially when it comes to continuing education for veteran mountain guides and other professionals, is breaking through a culture of expertise that is based on savoir-faire - in other words, on some deep combination of knowledge and instinct derived from experience - especially if that experience may happen to include years of imperfect decisions and sheer luck. "When we talk about human behavior, people feel a bit attacked in their certainty, in their habits" The problem with intuition is exactly that it is not the product of conscious thought. Intuition is Daniel Kahneman's System 1: effortless, implicit, and based on heuristics rather than reason. It's well documented that these heuristics serve us very well in many situations, especially when speed of movement is important above all else, but they don't lead to us making good decisions in the long term. Ian McCammon's Evidence of heuristic traps in recreational avalanche

## Thoughts on GitHub streaking

DevFeed: [Thoughts on GitHub streaking](<https://devfeed.tech/articles/thoughts-on-github-streaking-41581.md>)

Original publisher: [Read original article](<https://blog.benjojo.co.uk/post/2014-08-31-thoughts-on-github-streaking.md>)

Author: ben@benjojo.co.uk

Published: 2014-08-31T18:21:56Z

Content type: opinion

Language: en

Sources: [Benjojo](<https://devfeed.tech/sources/benjojo-blog.md>)

Topics: [GitHub](<https://devfeed.tech/topics/github.md>), [Code](<https://devfeed.tech/topics/code.md>), [Learning](<https://devfeed.tech/topics/learning.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [github](<https://devfeed.tech/tags/github.md>), [habits](<https://devfeed.tech/tags/habits.md>), [motivation](<https://devfeed.tech/tags/motivation.md>), [profile](<https://devfeed.tech/tags/profile.md>), [project](<https://devfeed.tech/tags/project.md>), [repo](<https://devfeed.tech/tags/repo.md>)

### AI overview

The author reflects on maintaining a GitHub coding streak for 256 days. They found that having an active project made daily coding easier and motivating, but the routine also caused exhaustion and burnout, especially alongside full-time work. The author recommends trying the habit while taking breaks and notes that commit frequency does not necessarily reflect the amount of work completed.

### Source excerpt

Thoughts on GitHub streaking Thought it might be a good idea to brain dump on my thoughts of "Write Code Everyday" and more to the point the [github challenge](http://ryanseys.com/blog/177-days-of-gith

## My SQL Bad Habits

DevFeed: [My SQL Bad Habits](<https://devfeed.tech/articles/my-sql-bad-habits-41139.md>)

Original publisher: [Read original article](<https://www.craigkerstiens.com/2013/05/26/My-SQL-Bad-Habits/>)

Author: Map

Published: 2013-05-26T20:55:56Z

Content type: article

Language: en

Sources: [Craig Kerstiens](<https://devfeed.tech/sources/craig-kerstiens.md>)

Topics: [SQL](<https://devfeed.tech/topics/sql.md>), [JOIN](<https://devfeed.tech/topics/join.md>), [Documentation](<https://devfeed.tech/topics/documentation.md>)

Tags: [habits](<https://devfeed.tech/tags/habits.md>), [implicit-joins](<https://devfeed.tech/tags/implicit-joins.md>), [postgres](<https://devfeed.tech/tags/postgres.md>), [sql](<https://devfeed.tech/tags/sql.md>)

### AI overview

The author identifies four SQL habits that make queries harder to understand or maintain: ordering or grouping by column positions, using comma-separated tables with join conditions in WHERE, leaving complex expressions uncommented, and filtering with long hard-coded ID lists. Adding a selected column can silently change what ORDER BY 2 means; implicit joins become less clear with several tables and risk missing a join condition. The author shows explicit INNER JOIN syntax and comments as clearer alternatives, and recommends spending extra effort to reuse clear logic instead of hard-coding changing keys. The piece frames these as personal habits with trade-offs, not universal rules, and invites readers to share their own.

### Source excerpt

I'm reasonably proficient at SQL - a coworker when pseudocoding some logic for him pointed out that my pseudocode is what he thought was executable SQL. I'm fully capable of writing clear and readable SQL - which most SQL is not. Despite that I still have several bad habits when it comes to SQL. Without further adieu heres some of my dirty laundry so hopefully others can not make the same mistakes. Order/Group by Column Numbers When quickly iterating on a query its a lot less typing to put the column number as the thing you want to order by. Here's a quick lightweight example: SELECT email, created_at FROM users ORDER BY 2 DESC LIMIT 5; This gives me my last 5 users that have signed up for my site. Of course as soon as I have this I may want to add some data to it, like their first name so I can send them a welcome email. I quickly alter the query to: SELECT email, first_name, created_at FROM users ORDER BY 2 DESC LIMIT 5; And now I have 5 users that have signed up ordered by their first name. Sure its obvious when you have 1 column you're ordering by, but when you have GROUP BY 1, 2, 3, 4, 5, 6 which is actually open in one of my tabs currently its a bit more confusing.... Though if you really want to have some fun, share a query with someone that looks something like this: SELECT email as "3", first_name "2", created_at "1" FROM users ORDER BY "1", "3" DESC LIMIT 5; Implicit Joins I seldom use the syntax INNER JOIN. Instead I simply put the two tables in my where clause and ensure I have a where condition. The problem with ensuring I have a where condition is sometimes I don't, especially when you're dealing with 3 tables. SELECT email, product.name, product.price FROM users, orders, items WHERE users.id = orders.user_id AND orders.id = items.order_id Is less clear (especially when dealing with 5-6 tables) than the alternative: SELECT email, product.name, product.price FROM users INNER JOIN orders on users.id = orders.user_id INNER JOIN items on orders.id = items.or