Hacker Newsnew | past | comments | ask | show | jobs | submit | mritchie712's commentslogin

not sure of windsurf's ToS, but Google could be after the usage data (e.g. did the user accept the suggested edit? if not, what did they change it to? etc.)

> Couldn't find one, so I built one.

there are no less than 100 of these.


They couldn't find one of their own. All those 100 others were built by others!

if Project Hail Mary isn't a good sci-fi book, what is a good one?

Children of Time

There’s lots of answers to this depending on taste, but you also get into arguments about whether such and such is space opera or planetary romance. Children of Time is hard SF the way a reader from the 1960s would have understood it.


I second this -- but, at the same time, it's such a shame that Tchaikovsky hasn't written anything else worth a damn, despite writing something like three novels every year!

His two most recent, Shroud and Service Model, are bloated, uninspired, and borderline unreadable. I guess he's now subject to that curse of established authors, where editors are scared to mess with their manuscripts and trim the fat.


Spiderlight. It’s short, and I wouldn’t recommend it to someone who hasn’t read a lot of fantasy already, but it’s a smart novel.

I got about a quarter of the way through this one before I ditched it. The premise was pretty interesting but it read like textbook to me.

Project Hail Mary is light reading sci-fi. Which is fine, I enjoyed it, but if you are looking for something meatier, covering broader themes and character development, here's some other recent stuff (there's a lot of old stuff covered already in other comments):

Stories of Your Life and Others; Exhalation (Ted Chiang) - both are short story collections vs novels, though

Dissolution (Nicholas Binge)

Too Like the Lightning (Ada Palmer) and sequels (wordy, philosophical, interesting future society)

Tell Me an Ending (Jo Harkin) - more near-future and grounded

Void Star (Zachary Mason)


I liked Daemon by Daniel Suarez, I read it many years ago but it’s more relevant now than ever (the story is about a rogue AI).

I second Daemon as an excellent sci-fi. I also really enjoyed Project Hail Mary and thought the characters weren’t too bad for a sci-fi.

Daemon isn’t about a rogue AI in the sense it was designed that way. Also you need to read the sequel “Freedom” to really get the true sci-fi philosophical message.

I personally enjoyed the sequel Freedom because it really explores the idea of a crypto-DAO like society that embraces human nature to build a more sustainable and fair society. It was ahead of its time as I don’t think DAO’s had been created yet.

Suarez’s later books also build on the themes in interesting ways.


If you want interesting worldbuilding concepts of near-future international politics, Ray Nayler is your bet.

If you want "sci-fi your dad would like", Scalzi is your bet.

If you want hilarious, but heartwarming deconstructions of common scifi tropes and protagonists, Martha Wells' Murderbot is your bet.

If you want a comforting read, you'll want Becky Chambers.

If you want a wild romp of science fantasy, you want Tamsyn Muir.

If you want math-as-magic-scifi space opera, you want Yoon Ha Lee.

And of course the most wildass mililitary scifi, Kameron Hurley is the queen.

I have personally been going through and enjoying Alex Gonzalez's "> rekt", which is a novel about chilling brainrot.

So, I should more ask you, what is your definition of "great"?


Iain M Banks Culture series

The Mote God's Eye

Anything by Asimov

Also there's a lot of great short stories in this genre. For example the road not taken by Harry Turtledove


Asimov? Brilliant sci-fi but his writing is so dry that it makes eating a box of dry saltine crackers feel like porridge in comparison. ;)

Peter F Hamilton has some great hard sci-fi novels like the Commonwealth series. Super nerdy with some interesting characters.

John Scalzi is probably my favorite sci-fi author for excellent characters. His “Old Man’s War” is genius.


Yeah I was going to say the same thing. Pandora's Star/Judas unchained is the best scifi I've ever read. Peter F Hamilton's worldbuilding is unmatched.

scalzi is mil-sci-fi, which I also enjoy, but not man vs nature conflicts like weir writes about (even Artemis is largely about solving physical problems even if they arise from interpersonal conflict..)

If you define quality as "layered and meaty" there are many much better books.

Roadside picnic (and its less Russian counterpart, Annihilation), left hand of darkness, Solaris are all excellent.

If you want culturally influential, surely Starship Troopers, Stranger in a Strange land, anything by HG Wells, 1984/Brave New World, Frankenstein (duh)

The characterization in Hail Mary is just so damn weak, even space opera stuff like Bujold


Dune, Children of Time, Neuromancer and Blindsight.

for "sci-fi" that reads like fantasy, the Sun Eater series is really fun.


I just saw an Apple TV teaser for Neuromancer!

I would add Vernor Vinge's A Fire Upon the Deep and A Deepness in the Sky to these suggestions

Dragon's Egg by Robert Forward

It's my point-to book for friends asking about science fiction as a genre.


Depends a lot what you are after, but look for writers like Dan Simmons, Arthur C Clark or Alastair Reynolds.

> try completing a GitHub task with the GitHub MCP, then repeat it with the gh CLI tool. You'll almost certainly find the latter uses context far more efficiently and you get to your intended results quicker.

This is spot on. I have a "devops" folder with a CLAUDE.md with bash commands for common tasks (e.g. find prod / staging logs with this integration ID).

When I complete a novel task (e.g. count all the rows that were synced from stripe to duckdb) I tell Claude to update CLAUDE.md with the example. The next time I ask a similar question, Claude one-shots it.

This is the first few lines of the CLAUDE.md

    This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

    ## Purpose
    This devops folder is dedicated to Google Cloud Platform (GCP) operations, focusing on:
    - Google Cloud Composer (Airflow) DAG management and monitoring
    - Google Cloud Logging queries and analysis
    - Kubernetes cluster management (GKE)
    - Cloud Run service debugging

    ## Common DevOps Commands

    ### Google Cloud Composer
    ```bash
    # View Composer environment details
    gcloud composer environments describe meltano --location us-central1 --project definite-some-id

    # List DAGs in the environment
    gcloud composer environments storage dags list --environment meltano --location us-central1 --project definite-some-id

    # View DAG runs
    gcloud composer environments run meltano --location us-central1 dags list

    # Check Airflow logs
    gcloud logging read 'resource.type="cloud_composer_environment" AND resource.labels.environment_name="meltano"' --project definite-some-id --limit 50

I feel like I'm taking crazy pills sometimes. You have a file with a set of snippets and you prefer to ask the AI to hopefully run them instead of just running it yourself?

The commands aren't the special sauce, it's the analytical capabilities of the LLM to view the outputs of all those commands and correlate data or whatever. You could accomplish the same by prefilling a gigantic context window with all the logs but when the commands are presented ahead of time the LLM can "decide" which one to run based on what it needs to do.

the snippets are examples. You can ask hundreds of variations of similar, but different, complex questions and the LLM can adjust the example for that need.

I don't have a snippet for, "find all 500's for the meltano service for duckdb syntax errors", but it'd easily nail that given the existing examples.


but if I know enough about the service to write examples, most of the time I will know the command I want, which is less typing, faster, costs less, and doesn't waste a ton of electricity.

In the other cases I see what the computer outputs, LEARN, and then the functionality of finding what I need just isn't useful next time. Next time I just type the command.

I don't get it.


LLMs are really good at processing vague descriptions of problems and offering a solution that's reasonably close to the mark. They can be a great guide for unfamiliar tools.

For example, I have a pretty good grasp of regular expressions because I'm an old Perl programmer, but I find processing json using `jq` utterly baffling. LLMs are great at coming up with useful examples, and sometimes they'll even get it perfect the first time. I've learned more about properly using `jq` with the help of LLMs than I ever did on my own. Same goes for `ffmpeg`.

LLMs are not a substitute for learning. When used properly, they're an enhancement to learning.

Likewise, never mind the idiot CEOs of failing companies looking forward to laying off half their workforce and replacing them with AI. When properly used, AI is a tool to help people become more productive, not replace human understanding.


Yes. I'm not the poster but I do something similar.

Because now the capabilities of the model grow over time. And I can ask questions that involve a handful of those snippets. When we get to something new that requires some doing, it becomes another snippet.

I can offload everything I used to know about an API and never have to think about it again.


The AI will run whatever command it figures out might work, which might be wasteful and taint the context with useless crap.

But when you give it tools for retrieving all client+server logs combined (for a web application), it can use it and just get what it needs as simply as possible.

Or it'll start finding a function by digging around code files with grep, if you provide a tool that just lists all functions, their parameters and locations, it'll find the exact spot in one go.


You dont ask the ai to run the commands. you say "build and test this feature" and then the AI correctly iterates back and forth between the build and test commands until the thing works.

Just as a related aside, you could literally make that bottom section into a super simple stdio MCP Server and attach that to Claude Code. Each of your operations could be a tool and have a well-defined schema for parameters. Then you are giving the LLM a more structured and defined way to access your custom commands. I'm pretty positive there are even pre-made MCP Servers that are designed for just this activity.

Edit: First result when looking for such an MCP Server: https://github.com/inercia/MCPShell


The problem with MCP is that it's not composeable.

With separate tools or command snippets the LLM can run one command, feed the result to another command and grep that result for whatever it needs. One composed command or script and it gets exactly what it needed.

With MCPs it'd need to run every command separately, spending precious context for shuffling data from MCP tool to another.


wouldn't this defeat the point? Claude Code already has access to the terminal, adding specific instruction in the context is enough

No. You are giving textual instructions to Claude in the hopes that it correctly generates a shell command for you vs giving it a tool definition with a clearly defined schema for parameters and your MCP Server is, presumably, enforcing adherence to those parameters BEFORE it hits your shell. You would be helping Claude in this case as you're giving a clearer set of constraints on operation.

Well, with MCP you’re giving textual instructions to Claude in hopes that it correctly generates a tool call for you. It’s not like tool calls have access to some secret deterministic mode of the LLM; it’s still just text.

To an LLM there’s not much difference between the list of sample commands above and the list of tool commands it would get from an MCP server. JSON and GNU-style args are very similar in structure. And presumably the command is enforcing constraints even better than the MCP server would.


Not strictly true. The LLM provider should be running a constrained token selection based off of the json schema of the tool call. That alone makes a massive difference as you're already discarding non-valid tokens during the completion at a low level. Now, if they had a BNF Grammer for each cli tool and enforced token selection based on that, you'd be much better off than unrestrained token selection.

Yeah, that's why I said "not much" difference. I don't think it's much, because LLMs do quite well generating JSON without turning on constrained output mode, and I can't remember them ever messing up a bash command line unless the quoting got weird.

Either way it is text instructions used to call a function (via a JSON object for MCP or a shell command for scripts). What works better depends on how the model you’re using was post trained and where in the prompt that info gets injected.

I use a similar file, but just for myself (I've never used an LLM "agent"). I live in Emacs, but this is the only thing I use org-mode for: it lets me fold/unfold the sections, and I can press C-c C-c over any of the code snippets to execute it. Some of them are shell code, some of them are Emacs Lisp code which generates shell code, etc.

I do something similar, but the problem is that claude.md keeps on growing.

To tackle this, I converted a custom prompt into an application, but there is an interesting trade-off. The application is deterministic. It cannot deal with unknown situations. In contrast to CC, which is way slower, but can try alternative ways of dealing with an unknown situation.

I ended up with adding an instruction to the custom command to run the application and fix the application code (TDD) if there is a problem. Self healing software… who ever thought


You're letting the LLM execute privileged API calls against your production/test/staging environment, just hoping it won't corrupt something, like truncate logs, files, databases etc?

Or are you asking it to provide example commands that you can sanity check?

I'd be curious to see some more concrete examples.


Fun to see Meltano mentioned here :)

meltano4life

we specialize in "don't ask engineering for SQL" at https://www.definite.app/.

we spin up a data lake, load all your data and educate an agent on your data.


it wasn't obvious to me how Double is significantly better than an ETF. It'd have to be MUCH better (e.g. at least 50bps to 100bps) to warrant taking a bet on an unproven company.

They had cute names for the indexes ("Founder Mode")... but do those actually make me better returns than an ETF? Probably not.

this[0] also scared me away

0 - https://news.ycombinator.com/item?id=42377934


Damn, not even a year?!

I use this prompt to spin up demos for customers at https://www.definite.app/:

    @Web Do some research on https://somecompany.com and write up a detailed overview of what the company does. What might their database schema look like?

    I need you to build a mock database for them in duckdb for a demo

Then:

    Create a uv project and write a python script to add demo data. Use Faker.

    @Web research how many customers they have. Make the database to appropriate scale.

Only takes a few minutes in Cursor, should work just as well in Claude Code. It works really well for the companies core business, but I still need to create one to populate 3rd party sources (e.g. Stripe, Salesforce, Hubspot, etc.).


Cool, I don’t do customer-specific demos, but I like this idea. I might add this use case as an option. Thanks for sharing!


the score is easy to reverse engineer if you have the data and pretty much every big bank has the data.

source: I worked at a big bank and did this, it was easy.

Most of the stuff is obvious and intuitive (don't make late payments). One that's not terribly intuitive is credit line utilization. It has a big impact and most people don't think about it. For example, it's better to have 2k in credit card debt if you have 20k in credit lines vs. 1k in debt on 2k in credit lines.


You forget the scoring is not based on individual performance only. It also includes your performance compared to those in similar groups or buckets.

Ever wonder why your credit score goes down randomly in one month despite nothing changing?

FICO’s black box algorithm put you in a newer credit group of higher credit scores. In that group, your profile scored much lower compared to others. Thus you get a 10-20 point deduction.

If you have a long history of good credit it probably doesn’t matter. But if you are a young person looking for auto/home mortgages, that 10-20 pt dedication _could_ lead to slightly higher APRs depending on the underwriters own scoring algorithm.


>the score is easy to reverse engineer if you have the data

In fact, FICO even provides you with a tool to "reverse engineer" a credit score given the data.

https://www.myfico.com/fico-credit-score-estimator/estimator


this is the worst GCP outage I can remember

> It took up to ~2h 40 mins to fully resolve in us-central-1

this would have cost their customers tens of millions, maybe north of $100M.

not surprised they'd have an extreme write up like this.


We (https://www.definite.app/) have a use case I'd imagine is common for people building agents.

When a user works with our agent, they may end up with a large conversation thread (e.g. 200k+ tokens) with many SQL snippets, query results and database metadata (e.g. table and column info).

For example, if they ask "show me any companies that were heavily engaged at one point, but I haven't talked to in the last 90 days". This will pull in their schema (e.g. Hubspot), run a bunch of SQL, show them results, etc.

I want to allow the agent to search previous threads for answers so they don't need to have the conversation again, but chunking up the existing thread is non-trivial (e.g. you don't want to separate the question and answer, you may want to remove errors while retaining the correction, etc.).

Do you have any plans to support "auto chunking" for AI message[0] threads?

0 - e.g. https://platform.openai.com/docs/api-reference/messages/crea...


> you may want to remove errors while retaining the correction

Double clicking on this, are these messages you’d want to drop from memory because they’re not part of the actual content (e.g. execution errors or warnings)? That kind of cleanup is something Chonkie can help with as a pre-processing step.

If you can share an example structure of your message threads, I can give more specific guidance. We've seen folks use Chonkie to chunk and embed AI chat threads — treating the resulting vector store as long-term memory. That way, you can RAG over past threads to recover context without redoing the conversation.

P.S. If HN isn’t ideal for going back and forth, feel free to send me an email at shreyash@chonkie.ai.


> We've seen folks use Chonkie to chunk and embed AI chat threads

yep, that's what we're looking for. We'll give it a shot!

I think it's worth creating a guide for this use case. Seems like something many people would want to do and the input should be very similar across your users.


You might want to check out the conversational chunking from this paper:

On Memory Construction and Retrieval for Personalized Conversational Agents https://arxiv.org/abs/2502.05589


Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: