<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: rkochanowski</title><link>https://news.ycombinator.com/user?id=rkochanowski</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 02 Jul 2026 20:47:31 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=rkochanowski" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by rkochanowski in "Show HN: CLI tool for detecting non-exact code duplication with embedding models"]]></title><description><![CDATA[
<p>Currently, only whole functions (including function-like constructs depending on language) are considered as unit.<p>Skipping the extraction of conditional branches was my decision to not overcomplicate the first versions, which was intended to validate the idea. I will add this in future versions because I agree it's needed for large functions.<p>I don't think it needs configurable granularity. In the current version, there is an analogous mechanism: when functions are nested, both outer and inner are embedded separately. When both are similar to each other, this pair is excluded. Inner or outer functions can appear in results depending on similarity to other units.<p>Regarding comments, they are removed and I will think about handling them. The challenge is not with extraction, but with how to present this in a report. This may be a nice addition because coding agents often add comments.<p>Thanks for the feedback.</p>
]]></description><pubDate>Thu, 02 Jul 2026 20:46:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=48767148</link><dc:creator>rkochanowski</dc:creator><comments>https://news.ycombinator.com/item?id=48767148</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48767148</guid></item><item><title><![CDATA[New comment by rkochanowski in "Show HN: CLI tool for detecting non-exact code duplication with embedding models"]]></title><description><![CDATA[
<p>Based on your example there is only a single function a() which is embedded. The rest is just a code and dependencies are not resolved. Did you think about adding this feature in your tool?</p>
]]></description><pubDate>Thu, 02 Jul 2026 20:11:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=48766723</link><dc:creator>rkochanowski</dc:creator><comments>https://news.ycombinator.com/item?id=48766723</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48766723</guid></item><item><title><![CDATA[New comment by rkochanowski in "Show HN: CLI tool for detecting non-exact code duplication with embedding models"]]></title><description><![CDATA[
<p>Generally, I chunk by function/method (not by whole class), but different languages have specific concepts and features. Nested code units, anonymous functions, lambdas, closures are extracted as separate chunks.<p>The chunk size has allowed range and those outside are simply ignored.<p>- Upper limit is hardcoded with a body size of 10k chars<p>- Lower limit is configurable with a default of 10 AST nodes inside the body<p>The chunking strategy is something that can be improved in future versions.</p>
]]></description><pubDate>Thu, 02 Jul 2026 18:51:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=48765765</link><dc:creator>rkochanowski</dc:creator><comments>https://news.ycombinator.com/item?id=48765765</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48765765</guid></item><item><title><![CDATA[New comment by rkochanowski in "Show HN: CLI tool for detecting non-exact code duplication with embedding models"]]></title><description><![CDATA[
<p>There are good mature tools for deterministic duplication detection and I intentionally focused on embedding-based to fill this gap (I didn't find other tools using this approach).<p>If by "more efficient" you mean to avoid embedding of the same code multiple times, this optimization is already implemented internally.</p>
]]></description><pubDate>Thu, 02 Jul 2026 18:26:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=48765496</link><dc:creator>rkochanowski</dc:creator><comments>https://news.ycombinator.com/item?id=48765496</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48765496</guid></item><item><title><![CDATA[New comment by rkochanowski in "Show HN: CLI tool for detecting non-exact code duplication with embedding models"]]></title><description><![CDATA[
<p>Recently there was a popular article on HN saying that sometimes code duplication is better than abstraction, so I assume that this question is not a joke.<p>While testing this tool, one detected duplication was interesting for a use case.  Permission check logic was duplicated and placed in different distant places in the codebase. The code was similar, but not identical, the logic was not the same. One version had stricter checks. I analyzed this with the coding agent, and we found out that both versions are used for the same thing, which means that in some cases validation is insufficient. Having only a single validation place, this bug could be prevented or easily detected.</p>
]]></description><pubDate>Thu, 02 Jul 2026 18:03:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=48765205</link><dc:creator>rkochanowski</dc:creator><comments>https://news.ycombinator.com/item?id=48765205</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48765205</guid></item><item><title><![CDATA[New comment by rkochanowski in "Show HN: CLI tool for detecting non-exact code duplication with embedding models"]]></title><description><![CDATA[
<p>No. It depends the most on general code quality and architecture. Some implementations require more code similarity by design. Some languages, like Java, may tend to have more duplication, but it's only a theoretical guess. It also depends on what kind of software is developed with what language.<p>If you are interested in data, you can check my article. Analysis was done with this tool, but a previous version where exact-copy duplicates were excluded from analysis.
<a href="https://rkochanowski.com/article/analysis-code-duplication/" rel="nofollow">https://rkochanowski.com/article/analysis-code-duplication/</a></p>
]]></description><pubDate>Thu, 02 Jul 2026 17:42:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=48764888</link><dc:creator>rkochanowski</dc:creator><comments>https://news.ycombinator.com/item?id=48764888</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48764888</guid></item><item><title><![CDATA[New comment by rkochanowski in "Show HN: CLI tool for detecting non-exact code duplication with embedding models"]]></title><description><![CDATA[
<p>PHP support can be easily added, I will release a new version soon.</p>
]]></description><pubDate>Thu, 02 Jul 2026 15:16:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=48762932</link><dc:creator>rkochanowski</dc:creator><comments>https://news.ycombinator.com/item?id=48762932</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48762932</guid></item><item><title><![CDATA[New comment by rkochanowski in "Show HN: CLI tool for detecting non-exact code duplication with embedding models"]]></title><description><![CDATA[
<p>I built Slopo to solve one specific problem: finding similar code that is hardest to detect by other tools, coding AI agents, and humans.<p>It finds similar-looking code with embeddings. This detects more than just copy-paste clones or even clones with minor changes. Similar code is often not a clone to refactor, and this is a trade-off. Initial results need to be verified, but coding agents can do this quickly. Example prompts are available on <a href="https://slopo.dev" rel="nofollow">https://slopo.dev</a><p>Additionally, similar code distant in the codebase is ranked higher to focus on less obvious duplication.<p>The results differ a lot depending on the codebase. I noticed that sometimes most of the detected duplicates are false positives, but the remaining ones are strong candidates to refactor or even bugs. Sometimes it reveals much more real duplication.</p>
]]></description><pubDate>Thu, 02 Jul 2026 14:19:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=48762050</link><dc:creator>rkochanowski</dc:creator><comments>https://news.ycombinator.com/item?id=48762050</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48762050</guid></item><item><title><![CDATA[Show HN: CLI tool for detecting non-exact code duplication with embedding models]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/rafal-qa/slopo">https://github.com/rafal-qa/slopo</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48762038">https://news.ycombinator.com/item?id=48762038</a></p>
<p>Points: 61</p>
<p># Comments: 29</p>
]]></description><pubDate>Thu, 02 Jul 2026 14:19:24 +0000</pubDate><link>https://github.com/rafal-qa/slopo</link><dc:creator>rkochanowski</dc:creator><comments>https://news.ycombinator.com/item?id=48762038</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48762038</guid></item><item><title><![CDATA[New comment by rkochanowski in "Ask HN: Am I missing something with AI"]]></title><description><![CDATA[
<p>That's why it's so important to design a solution before letting AI implement it. I noticed that AI often can't see clean, elegant and primitive solutions that fit best for a given problem. Even when I ask if it can be designed in a simpler way, it can't see what I can see. I think this is one of the most important points where humans should be involved.</p>
]]></description><pubDate>Thu, 25 Jun 2026 10:41:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=48671568</link><dc:creator>rkochanowski</dc:creator><comments>https://news.ycombinator.com/item?id=48671568</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48671568</guid></item><item><title><![CDATA[New comment by rkochanowski in "Show HN: Recall – Local project memory for Claude Code"]]></title><description><![CDATA[
<p>There are bunch of tools to manage context or fix what Claude does wrong. They may be popular because non software engineers want to improve their workflows, like you mentioned.<p>But are they really working instead of making it worse? Are there any tests or real case studies done by users not tool's author? From my experience, removing from context works more often then adding.</p>
]]></description><pubDate>Mon, 22 Jun 2026 08:32:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=48627389</link><dc:creator>rkochanowski</dc:creator><comments>https://news.ycombinator.com/item?id=48627389</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48627389</guid></item><item><title><![CDATA[New comment by rkochanowski in "Ask HN: What is your #1 practical lesson or "aha" moment from coding with AI?"]]></title><description><![CDATA[
<p>I realized how easily it can be confused and generate a bad answer in effect. It's difficult to control context when we have instructions in AGENTS/CLAUDE.md, memory, SKILLs, sometimes additional tools for optimization. On top of this our prompt. When coding agent misbehaves, there is often some issue on my side that steered it in a wrong direction. It requires more precision than I initially thought.</p>
]]></description><pubDate>Sun, 21 Jun 2026 22:02:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=48623061</link><dc:creator>rkochanowski</dc:creator><comments>https://news.ycombinator.com/item?id=48623061</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48623061</guid></item><item><title><![CDATA[New comment by rkochanowski in "Ask HN: Do you find vibe coding / agentic engineering to be fulfilling?"]]></title><description><![CDATA[
<p>I think "lack of effort required" is the key.<p>We can just throw prompts without understanding and caring about output. This way we can build something in 10 min we don't own.<p>We can also do real engineering with our architecture design, thinking about what exactly are we building and why, being critical about produced output. This way of building takes more time, but this is something we built ourselves and can be potentially more fulfilling. And this is not something anyone can copy with right prompt. There are more nuances than AI-generated code.<p>Another way to find fulfillment is to focus more on solving a real problem and building something people will use. Less on writing a code.</p>
]]></description><pubDate>Sat, 20 Jun 2026 13:38:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=48609154</link><dc:creator>rkochanowski</dc:creator><comments>https://news.ycombinator.com/item?id=48609154</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48609154</guid></item></channel></rss>