Feed aggregator

Show HN: Githrun – Run Python Scripts from GitHub URLs and VS Code Extension

Hacker News - Mon, 02/09/2026 - 12:11am

I built Githrun to eliminate the need to clone entire repositories just to run a single utility script.

Key Features:

Instant Execution: Run any Python script via its GitHub URL or Gist ID using githrun run [URL].

VS Code Extension: I've added a VS Code extension so you can execute remote scripts directly from your editor.

Local Shims: It creates local shims in your PATH, allowing remote scripts to behave like native CLI tools.

Smart Caching: To avoid GitHub API rate limits, it caches metadata and responses locally.

It’s open-source (MIT) and available on PyPI. I'd love to hear what you think of the VS Code integration!

Comments URL: https://news.ycombinator.com/item?id=46941796

Points: 1

# Comments: 0

Categories: Hacker News

Show HN: Ship packages without exposing your real address

Hacker News - Mon, 02/09/2026 - 12:09am

I didn’t want my home address on every shipping label, so I built Shipto.me which lets people ship and receive packages without exposing where they live. It works with standard carriers and doesn’t change the delivery experience.

Comments URL: https://news.ycombinator.com/item?id=46941785

Points: 1

# Comments: 1

Categories: Hacker News

Show HN: Dwrite.me A minimalist writing space that blocks copypaste to fight AI

Hacker News - Mon, 02/09/2026 - 12:03am

Lately, the internet has started to feel loud, yet incredibly empty. Every time I browse Google, Medium, or news portals, I run into articles that feel "too perfect." The structure is flawless, the grammar is impeccable, but there is absolutely no soul in them.

We all know why. It’s AI.

As a developer, I love technology. But as a human, I’ve started to crave writing that has "scars"—writing that has emotion, rhythm, and is actually born from someone’s messy brain, not a polished prompt.

That’s why I built dwrite.me.

An Internet That’s Too Fast My frustration is simple: We live in an age where everything is expected to be instant. Need a 2,000-word article? One click. Need an opinion? Ask a chatbot.

But here’s the problem: If everyone is using AI to write, why should we bother reading each other at all? We aren't exchanging thoughts anymore; we are just swapping machine-processed data. Our way of thinking is becoming lazy. We no longer value the "friction" of struggling to find the right words. Yet, that struggle is exactly where our humanity lives.

The Broken Bridge Between Us I used to read blogs to feel like I was having a conversation with the author. I could feel their anxiety, their excitement, or even their confusion.

Now? That bridge feels broken. AI writing is sterile. There are no surprises, no bold opinions, no "wrong" takes. Everything is safe. I’m worried that if we keep going down this path, we’ll forget how to connect honestly through words. We’re becoming content consumers instead of thought appreciators.

dwrite.me: Back to Basics I built dwrite.me with a very simple concept. In fact, it might be too simple by today's standards.

No AI, Just Friction: I want people to feel the effort of typing again. I want there to be a "clash" between the mind and the keyboard.

Pure Minimalism: No clutter, no distractions. No Copy Paste. It’s just you and your message.

Handcrafted: Every word typed here is a conscious choice made by a human being.

I don’t expect this platform to compete with the giants like Medium or Substack. Not at all. dwrite.me is just a small space for those who still believe that human thought with all its flaws is infinitely more valuable than a text generated by a thousand servers in a matter of seconds.

If you also feel like the internet is getting drowned in automated "noise," maybe we’re on the same frequency.

Check it out at dwrite.me. Let’s start thinking again, one slow word at a time.

https://dwrite.me

Open for collaboration. Let’s build this together if you have the same vision.

Comments URL: https://news.ycombinator.com/item?id=46941757

Points: 1

# Comments: 0

Categories: Hacker News

SOUL.md

Hacker News - Sun, 02/08/2026 - 11:56pm

Article URL: https://soul.md/

Comments URL: https://news.ycombinator.com/item?id=46941720

Points: 2

# Comments: 0

Categories: Hacker News

Show HN: Monitui – drag 'n drop monitor config for hyprland

Hacker News - Sun, 02/08/2026 - 11:52pm

Vibe coded this for my Omarchy setup. Would love to share and get thoughts.

Comments URL: https://news.ycombinator.com/item?id=46941695

Points: 1

# Comments: 0

Categories: Hacker News

Designing MCP tool schemas that LLMs understand

Hacker News - Sun, 02/08/2026 - 11:50pm

I've been building MCP servers for the past few months and found that designing tool schemas for AI agents is surprisingly different from designing REST APIs for humans.

Here are some patterns that worked and didn't work in production:

What didn't work:

1. Fine-grained CRUD endpoints. I started with the obvious get_request, update_request_status, update_request_assignee, add_comment, etc. The agent would frequently call the wrong one or chain them in the wrong order. Too many similar tools = confusion.

2. Generic parameter names. A field called "id" meant nothing to the agent without context. It would hallucinate IDs or pass the wrong entity's ID.

3. Sparse error messages. Returning "404 Not Found" gave the agent nothing to work with. It would retry the same bad call indefinitely.

What worked:

1. Fewer, wider tools. Instead of 8 CRUD endpoints, I collapsed them into 3: search_requests, get_request_detail, update_request. The agent made far fewer mistakes with a smaller tool set.

2. Descriptive schemas with examples. Adding "description" fields with example values in the JSON schema dramatically improved accuracy. The schema IS the prompt.

3. Rich error responses. Instead of "404", returning "No request found with ID 'abc'. Did you mean to search first? Available tool: search_requests" actually got the agent to self-correct.

4. Read-before-write pattern. Structuring tools so the agent naturally fetches context before making changes reduced destructive mistakes significantly.

5. Confirmation fields for dangerous operations. Adding a required "confirm: true" parameter for deletes/bulk updates acts as a speed bump that makes the agent think twice.

The mental model shift: you're not designing an API for a developer reading docs. You're designing an interface for a reasoning engine that only sees the schema and the last few messages. Every field name, description, and error message is a prompt.

Curious if others building MCP servers have found similar patterns or discovered different approaches.

Comments URL: https://news.ycombinator.com/item?id=46941684

Points: 1

# Comments: 0

Categories: Hacker News

Show HN: Mission Plus – Clear Titles and App Logos in macOS Mission Control

Hacker News - Sun, 02/08/2026 - 11:45pm

Hi HN, I built Mission Plus, a small native macOS utility that makes Mission Control easier to read when you have many windows open.

Mission Control is great, but once multiple windows look similar, it becomes hard to identify what’s what at a glance. Mission Plus overlays large text titles and recognizable app logos directly above each window, so you can immediately tell them apart without hunting through thumbnails.

The app is implemented natively with a focus on low overhead and smooth performance. It follows Mission Control animations closely and is designed to look like a built-in macOS feature rather than a third-party overlay.

Key features:

Large, clear text titles above windows

Automatic logo matching for most common macOS apps

Very low resource usage and no noticeable latency

Direct DMG download (no signup, no App Store)

You can download and try it here: https://trystartup.com/

This is an early version and I’m very interested in feedback, especially from macOS power users. I’ll be around in the comments to answer questions and discuss design or implementation details.

Comments URL: https://news.ycombinator.com/item?id=46941666

Points: 1

# Comments: 0

Categories: Hacker News

Show HN: Physical swipe typing for your computer

Hacker News - Sun, 02/08/2026 - 11:32pm

made a faster way to type with one finger (STT aside), uses a DTW algo to compute and compare paths. engine written in Rust and compiled to WASM and FFI for mac.

Comments URL: https://news.ycombinator.com/item?id=46941612

Points: 2

# Comments: 0

Categories: Hacker News

Show HN: ShapeGuard – Shape Contracts for NumPy and Jax

Hacker News - Sun, 02/08/2026 - 11:30pm

I built ShapeGuard because shape errors in numerical code are uniquely painful. They're silent (wrong shapes often produce garbage instead of crashing), late (errors surface deep in XLA, not where the bug is), and cryptic (shapes (3,4) and (5,3) not aligned — but why should they match?). ShapeGuard lets you declare shape contracts on functions using symbolic dimensions: from shapeguard import Dim, expects, ensures n, m, k = Dim("n"), Dim("m"), Dim("k") @expects(a=(n, m), b=(m, k)) @ensures(result=(n, k)) def matmul(a, b): return a @ b When shapes don't match, the error traces bindings back to their source: ShapeGuardError: function: matmul argument: b expected: (m, k) actual: (5, 7) reason: dimension 'm' bound to 4 from a.shape[1], but got 5 from b.shape[0] bindings: {n=3 (from a[0]), m=4 (from a[1])} The key idea is unification — the same Dim object used across arguments must resolve to the same integer. ShapeGuard tracks where each binding came from, so conflicts pinpoint the exact source. What it does: - @expects / @ensures / @contract — input and output shape validation - Symbolic Dim with cross-argument unification - Batch() dims and ... ellipsis for ML patterns - broadcast_shape() and explain_broadcast() for debugging broadcasting - Configurable JIT modes (check / warn / skip) for JAX - ML helpers: pre-defined dims (B, T, C, H, W, D), attention_shapes(), conv_output_shape() What it doesn't do: - No dtype checking (jaxtyping does this well) - No named-tensor wrapper (Haliax's approach) - Not a replacement for static type checking It's zero-dependency, drop-in (works with existing code — just add decorators), and the motivation came from analyzing 40 real JAX GitHub issues where users hit cryptic shape errors. PyPI: pip install jax-shapeguard Would love feedback on the API design, error message format, and whether this would actually help your workflow. What shape debugging pain points am I missing?

Comments URL: https://news.ycombinator.com/item?id=46941604

Points: 1

# Comments: 0

Categories: Hacker News

Claude's C Compiler vs. GCC

Hacker News - Sun, 02/08/2026 - 11:30pm
Categories: Hacker News

Pages