<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: jftuga</title><link>https://news.ycombinator.com/user?id=jftuga</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Fri, 05 Jun 2026 03:11:58 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=jftuga" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by jftuga in "Claude Code and Codex can have real-time conversation via Git"]]></title><description><![CDATA[
<p>What do you think of this: <a href="https://github.com/synadia-ai/synadia-agents" rel="nofollow">https://github.com/synadia-ai/synadia-agents</a></p>
]]></description><pubDate>Thu, 04 Jun 2026 16:53:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=48401335</link><dc:creator>jftuga</dc:creator><comments>https://news.ycombinator.com/item?id=48401335</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48401335</guid></item><item><title><![CDATA[New comment by jftuga in "If I could make my own GitHub"]]></title><description><![CDATA[
<p>I think this is a good idea as it happens anyways even in GitHub.</p>
]]></description><pubDate>Sat, 02 May 2026 12:55:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=47986011</link><dc:creator>jftuga</dc:creator><comments>https://news.ycombinator.com/item?id=47986011</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47986011</guid></item><item><title><![CDATA[New comment by jftuga in "If I could make my own GitHub"]]></title><description><![CDATA[
<p>I like to rebase/squash before pushing because it keeps the commit history cleaner.  However, I do like your idea so I guess I could also do a squash/merge after approval (which I already do, anyway).</p>
]]></description><pubDate>Sat, 02 May 2026 12:54:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=47986005</link><dc:creator>jftuga</dc:creator><comments>https://news.ycombinator.com/item?id=47986005</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47986005</guid></item><item><title><![CDATA[Show HN: mac-screen-search: CLI find, highlight, redact text on screen, in files]]></title><description><![CDATA[
<p>mac-screen-search captures your screen (or takes a glob of existing image files), OCRs the text, and draws colored boxes around every match. Use the `-r` flag to have it fill those boxes solid for redaction or `-b` to blur.<p>It also handles batch processing (overwrites in-place, preserves mtime), enhanced OCR for degraded images (Zoom calls, transparent terminals) with `-e` flag, and Levenshtein fuzzy matching to catch OCR misreads with the `-d N` flag.<p>It includes: screenshot and file-glob modes, exact/fuzzy whole-word matching, redact/blur/outline annotation, multi-monitor, multi-term search, list mode, and output control.<p>Free, open source, written in Swift. Single file, no deps beyond macOS itself.<p><pre><code>    brew install jftuga/tap/mac-screen-search
</code></pre>
<a href="https://github.com/jftuga/mac-screen-search" rel="nofollow">https://github.com/jftuga/mac-screen-search</a><p>Disclaimer: Vibe coded with Claude Opus 4.6.</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47943666">https://news.ycombinator.com/item?id=47943666</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 29 Apr 2026 02:49:04 +0000</pubDate><link>https://github.com/jftuga/mac-screen-search</link><dc:creator>jftuga</dc:creator><comments>https://news.ycombinator.com/item?id=47943666</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47943666</guid></item><item><title><![CDATA[New comment by jftuga in "An update on GitHub availability"]]></title><description><![CDATA[
<p>Some interesting tid bits:<p>* we had to resolve a variety of bottlenecks that appeared faster than expected from moving webhooks to a different backend (out of MySQL)<p>* * redesigning user session cache to redoing authentication and authorization flows to substantially reduce database load.<p>* we accelerated parts of migrating performance or scale sensitive code out of Ruby monolith into Go.<p>I'd like to know what database backend they migrated to.  I was also surprised to read that the migration from Ruby to a more performant language had not already been completed.  I assume this is because it a large code base with many moving parts, etc.</p>
]]></description><pubDate>Tue, 28 Apr 2026 11:02:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=47932782</link><dc:creator>jftuga</dc:creator><comments>https://news.ycombinator.com/item?id=47932782</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47932782</guid></item><item><title><![CDATA[New comment by jftuga in "Ask HN: What Are You Working On? (April 2026)"]]></title><description><![CDATA[
<p>Wow, this is super useful. Thanks for making this!</p>
]]></description><pubDate>Sun, 12 Apr 2026 22:01:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=47745033</link><dc:creator>jftuga</dc:creator><comments>https://news.ycombinator.com/item?id=47745033</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47745033</guid></item><item><title><![CDATA[New comment by jftuga in "Ask HN: What Are You Working On? (April 2026)"]]></title><description><![CDATA[
<p>Nice layout - I really like this.</p>
]]></description><pubDate>Sun, 12 Apr 2026 21:50:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=47744932</link><dc:creator>jftuga</dc:creator><comments>https://news.ycombinator.com/item?id=47744932</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47744932</guid></item><item><title><![CDATA[New comment by jftuga in "Ask HN: What Are You Working On? (April 2026)"]]></title><description><![CDATA[
<p>Nice work, I like it.</p>
]]></description><pubDate>Sun, 12 Apr 2026 19:37:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=47743557</link><dc:creator>jftuga</dc:creator><comments>https://news.ycombinator.com/item?id=47743557</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47743557</guid></item><item><title><![CDATA[New comment by jftuga in "Ask HN: What Are You Working On? (April 2026)"]]></title><description><![CDATA[
<p>I am vibe coding with Opus 4.6: <a href="https://github.com/jftuga/swiftswiss" rel="nofollow">https://github.com/jftuga/swiftswiss</a><p>Swiss army knife CLI tool written in Swift using only native Apple frameworks.<p>The primary goal of this project is to demonstrate how many Apple standard library frameworks can be meaningfully used in a single, actually-useful CLI tool.<p>brew install jftuga/tap/swiftswiss</p>
]]></description><pubDate>Sun, 12 Apr 2026 19:34:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=47743518</link><dc:creator>jftuga</dc:creator><comments>https://news.ycombinator.com/item?id=47743518</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47743518</guid></item><item><title><![CDATA[New comment by jftuga in "MacBook Pro with M5 Pro and M5 Max"]]></title><description><![CDATA[
<p>I wonder how this compares to my M4 air with 10 GPU cores and 32 MB of RAM.  My system can only run ~14B sized models at any reasonable speed.  The accuracy of these sized models can be underwhelming.  I am looking forward to a time when it would be nice to run models locally at a reasonable price, at a reasonable speed and with reasonable accuracy.  I don't think we are there just yet.</p>
]]></description><pubDate>Tue, 03 Mar 2026 15:19:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=47233713</link><dc:creator>jftuga</dc:creator><comments>https://news.ycombinator.com/item?id=47233713</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47233713</guid></item><item><title><![CDATA[Show HN: Transcript-critic, Claude Code skill: transcribe and critically analyze]]></title><description><![CDATA[
<p>Claude Code skill that transcribes audio/video with whisper.cpp to get structured critical analysis including timestamped summaries, evidence notes, logical fallacies, and underdeveloped areas.</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47067699">https://news.ycombinator.com/item?id=47067699</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 18 Feb 2026 23:12:03 +0000</pubDate><link>https://github.com/jftuga/transcript-critic</link><dc:creator>jftuga</dc:creator><comments>https://news.ycombinator.com/item?id=47067699</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47067699</guid></item><item><title><![CDATA[New comment by jftuga in "Ask HN: What are you working on? (February 2026)"]]></title><description><![CDATA[
<p>I am researching go-string-concat-benchmark [1]:<p><pre><code>    A performance comparison of four common Go string building methods.
</code></pre>
___<p>I recently updated my go-stats-calculator to include many more stats [2]:<p><pre><code>    CLI tool for computing statistics (mean, median, variance, std-dev, skewness, etc.) from files or standard input.
</code></pre>
___<p>I also created claude-image-renamer [3]:<p><pre><code>    AI-powered image renaming script that generates descriptive filenames for screenshots. 
</code></pre>
___<p>[1] <a href="https://github.com/jftuga/go-string-concat-benchmark" rel="nofollow">https://github.com/jftuga/go-string-concat-benchmark</a><p>[2] <a href="https://github.com/jftuga/go-stats-calculator" rel="nofollow">https://github.com/jftuga/go-stats-calculator</a><p>[3] <a href="https://github.com/jftuga/claude-image-renamer" rel="nofollow">https://github.com/jftuga/claude-image-renamer</a></p>
]]></description><pubDate>Mon, 09 Feb 2026 05:08:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=46941779</link><dc:creator>jftuga</dc:creator><comments>https://news.ycombinator.com/item?id=46941779</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46941779</guid></item><item><title><![CDATA[Show HN: go-stats-calculator, CLI for computing stats:mean,median,variance,etc.]]></title><description><![CDATA[
<p>What: go-stats-calculator[1] - CLI tool for computing statistics <i>(mean, median, variance, std-dev, skewness, etc.)</i><p>Why: I needed a quick way to look at statistics without having to resort to something heavy such as Python + its statistics module or Excel.<p>Disclaimer: Vibe-coded by Gemini 2.5 Pro and Opus 4.5 but also validated through unit tests and independent verification[2].<p>Install: Homebrew[3] or GoReleaser built binaries[4].<p>Demo:<p><pre><code>    $ seq 99 322 | stats

    --- Descriptive Statistics ---
    Count:          224
    Sum:            47152
    Min:            99
    Max:            322
    
    --- Measures of Central Tendency ---
    Mean:           210.5
    Median (p50):   210.5
    Mode:           None
    
    --- Measures of Spread & Distribution ---
    Std Deviation:  64.8074
    Variance:       4200
    Quartile 1 (p25): 154.75
    Quartile 3 (p75): 266.25
    Percentile (p95): 310.85
    Percentile (p99): 319.77
    IQR:            111.5
    Skewness:       0 (Fairly Symmetrical)
    Outliers:       None
</code></pre>
[1] <a href="https://github.com/jftuga/go-stats-calculator" rel="nofollow">https://github.com/jftuga/go-stats-calculator</a><p>[2] <a href="https://github.com/jftuga/go-stats-calculator/tree/main?tab=readme-ov-file#testing-and-correctness" rel="nofollow">https://github.com/jftuga/go-stats-calculator/tree/main?tab=...</a><p>[3] <a href="https://github.com/jftuga/go-stats-calculator?tab=readme-ov-file#installation" rel="nofollow">https://github.com/jftuga/go-stats-calculator?tab=readme-ov-...</a><p>[4] <a href="https://github.com/jftuga/go-stats-calculator/releases" rel="nofollow">https://github.com/jftuga/go-stats-calculator/releases</a></p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46658302">https://news.ycombinator.com/item?id=46658302</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Sat, 17 Jan 2026 14:24:22 +0000</pubDate><link>https://github.com/jftuga/go-stats-calculator</link><dc:creator>jftuga</dc:creator><comments>https://news.ycombinator.com/item?id=46658302</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46658302</guid></item><item><title><![CDATA[New comment by jftuga in "Ask HN: What are you working on? (January 2026)"]]></title><description><![CDATA[
<p>Cool project. Do you have a repo for it?</p>
]]></description><pubDate>Mon, 12 Jan 2026 02:14:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=46583096</link><dc:creator>jftuga</dc:creator><comments>https://news.ycombinator.com/item?id=46583096</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46583096</guid></item><item><title><![CDATA[New comment by jftuga in "Ask HN: What are you working on? (January 2026)"]]></title><description><![CDATA[
<p>Script to auto-rename screenshots with Claude Code<p>I'm sure there are a ton of other projects out there that do this, but I couldn't find one that fit my needs exactly, so I threw this together in a few hours.<p>claude-image-renamer uses Claude Code CLI to analyze screenshots and rename them to something actually usable. It combines OCR text extraction with Claude's vision capabilities, so instead of "Screenshot 2025-12-29 at 10.03.10 PM.png" you get something like "vscode_python_debug_settings.png".<p>A few things it does:<p><pre><code>    Handles those annoying macOS screenshot filenames with weird Unicode characters
    Uses OCR to give Claude more context for better naming
    Keeps filenames clean (lowercase, underscores, max 64 chars)
    Handles naming conflicts automatically
</code></pre>
If you're on macOS, you can also set this up as a Folder Action so screenshots get renamed automatically when they are saved to a folder, typically ~/Desktop. This is useful if you take a lot of screenshots and hate digging through "Screenshot 2025-12..." files later.<p>GitHub: <a href="https://github.com/jftuga/claude-image-renamer" rel="nofollow">https://github.com/jftuga/claude-image-renamer</a></p>
]]></description><pubDate>Sun, 11 Jan 2026 19:55:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=46579317</link><dc:creator>jftuga</dc:creator><comments>https://news.ycombinator.com/item?id=46579317</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46579317</guid></item><item><title><![CDATA[New comment by jftuga in "Ask HN: What are you working on? (January 2026)"]]></title><description><![CDATA[
<p>For my home lab, I built a 3 node Talos (from <a href="https://www.talos.dev/" rel="nofollow">https://www.talos.dev/</a>) cluster from older Dell Optiplex systems.  I am using:<p><pre><code>    MetalLB - https://metallb.io/ load balancer

    Traefik - https://doc.traefik.io/traefik/getting-started/quick-start-with-kubernetes/ ingress

    Local Path - https://docs.apps.rancher.io/reference-guides/local-path-provisioner storage
</code></pre>
Open to suggestions.</p>
]]></description><pubDate>Sun, 11 Jan 2026 18:17:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=46578089</link><dc:creator>jftuga</dc:creator><comments>https://news.ycombinator.com/item?id=46578089</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46578089</guid></item><item><title><![CDATA[New comment by jftuga in "You Need to Ditch VS Code"]]></title><description><![CDATA[
<p>This is a well-thought-out critique.  Thanks for sharing your insights.</p>
]]></description><pubDate>Tue, 30 Dec 2025 13:52:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=46433331</link><dc:creator>jftuga</dc:creator><comments>https://news.ycombinator.com/item?id=46433331</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46433331</guid></item><item><title><![CDATA[New comment by jftuga in "Ask HN: Who here is not working on web apps/server code?"]]></title><description><![CDATA[
<p>> General day to day is creating jobs that will process large amounts of input data and storing them into Snowflake<p>About how long do these typically take to execute? Minute, Tens of Minutes, Hours?<p>My work if very iterative where the feedback loop is only a few minutes long.</p>
]]></description><pubDate>Fri, 19 Dec 2025 22:28:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=46331685</link><dc:creator>jftuga</dc:creator><comments>https://news.ycombinator.com/item?id=46331685</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46331685</guid></item><item><title><![CDATA[New comment by jftuga in "Golang optimizations for high‑volume services"]]></title><description><![CDATA[
<p>I'd be curious to know transactions per second (or other metrics) before and after the suggested changes.</p>
]]></description><pubDate>Thu, 11 Dec 2025 20:11:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=46236482</link><dc:creator>jftuga</dc:creator><comments>https://news.ycombinator.com/item?id=46236482</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46236482</guid></item><item><title><![CDATA[New comment by jftuga in "Zram Performance Analysis"]]></title><description><![CDATA[
<p>Has anyone tried using zram inside of various K8s pods? If so, I'd be interested in knowing the outcome.</p>
]]></description><pubDate>Fri, 24 Oct 2025 01:28:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=45689694</link><dc:creator>jftuga</dc:creator><comments>https://news.ycombinator.com/item?id=45689694</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45689694</guid></item></channel></rss>