HNHacker News
TopNewBestAskShowJobs

jaredsohn

3,096 karma · joined August 20, 2009

jared.sohn at gmail.com, Twitter: @jaredsohn, github.com/jaredsohn cs.wisc.edu/~sohn/portfolio/

[ my public key: https://keybase.io/jaredsohn; my proof: https://keybase.io/jaredsohn/sigs/c4qehWaH0L35LPkCjENi802VbcU8vadCoG7uwYMLiTA ]

submissionscomments
jaredsohn··on Microsoft only lets you opt out of AI photo scanning 3x a year
> I know who the people in my photographs are. Why is Microsoft so eager to also be able to know this?

Presumably it can be used for filtering as well - find me all pictures of me with my dad, etc.

jaredsohn··on "AI-Powered" Is a Red Flag. Here's a Dev's Guide to Calling Bullshit
> has become the new "cloud-based"—a meaningless marketing term often used to justify a price hike for a feature that is, at best, a glorified if/else statement

Cloud-based isn't a meaningless marketing term - it means you can (or have to) visit a website instead of installing an app locally - made things easier to distribute/update compared to desktop apps. Also probably means you might have to keep paying for it regularly and if the company goes away the app will stop working.

jaredsohn··on I’m Not a Robot
Who knew that making money on the stock market was so easy (level 28)
jaredsohn··on I’m Not a Robot
I got it to accept level 26 after I crashed it in the parking spot. I guess technically it is parked.
jaredsohn··on Show HN: Haystack – Review pull requests like you wrote them yourself
Understand your concerns; I'm interested in trying it to see if I get value from it (things don't have to be perfect to be useful). For the last part, you can ask it to include a source for how it answers questions and check that.
jaredsohn··on Show HN: Haystack – Review pull requests like you wrote them yourself
Seems very idealistic :)

I think this is about when the app is broken and people are keeping a meeting app open to communicate with each other as they scramble to fix things.

So the limitation here is more about problems not being solved yet rather than how a 'meeting' is organized.

jaredsohn··on Show HN: Haystack – Review pull requests like you wrote them yourself
I'm not doing this much now, but this AI-generated text might be more useful if you use AI to ask questions using it as a source.
jaredsohn··on Cognitive load is what matters
also called WET (write everything twice or write everything thrice)
jaredsohn··on ASK: Could AI Replace the Slush Pile Intern?
Maybe can randomly sample it instead. Would be similar to opening a book to a random page and reading it; not sure how well that would work though.
jaredsohn··on Why Wisconsin's county highways are lettered, not numbered (2019)
Visiting my parents in Wisconsin and I'm about a mile away from it right now. We also have PPP.
jaredsohn··on GitHub pull requests were down
nah - ftp

or run vi from ssh

jaredsohn··on GitHub pull requests were down
Good thing we just SSH into production and make the changes live.
jaredsohn··on 6 weeks of Claude Code
>maybe in the future vibe coding will actually work

Vibe coding works today at small enough of scale.

I'm building a personal app to help me track nutrition and I only needed to get involved in the code when Claude would hit its limits for a single file and produced a broken program (and this was via the UI, not Claude Code.) Now at ~3000 lines of python.

After I told it to split it into a few files I don't think I've had to talk about anything at the code level. Note that I eventually did switch to using Claude Code which might have helped (gets annoying copy/pasting multiple files and then my prompts hit max limits).

I just prompt it like an experienced QA/product person to tell it how to build it, point out bugs (as experienced as a user), point out bad data, etc.

A few of my recent prompts (each is a separate prompt):

>for foods found but not in database, list the number of times each shows up

>sort the list by count descending

>Period surplus/deficit seems too low. looking at 2025/07/24 to 2025/07/31

>do not require beige color (but still track it). combine blue/purple as one in stats (but keep separate colors). data has both white and White; should use standard case and not show as two colors

jaredsohn··on Ask HN: How do you avoid Kanban boards becoming "to-do list graveyards"?
What I've seen work is every once in awhile start with a new board but don't delete the old one. Instead, you can copy / link details to the new board when things become relevant.

You can also occasionally search through the old board to 'steal' ideas that have already had some discussion. But you don't have to worry about the old board going stale.

I do the same personally with todo lists.

jaredsohn··on Show HN: I made a JSFiddle-style playground to test and share prompts fast
Some feedback when I tried to share: 1. Think it should prepopulate the name like various AI apps do.

2. Got an error:

"Unexpected Application Error! Cannot read properties of null (reading 'slice') TypeError: Cannot read properties of null (reading 'slice') at Hv (https://langfa.st/main.1510e80706059046a306.js:2:11907588) at hi (https://langfa.st/main.1510e80706059046a306.js:2:10922009) at Xa (https://langfa.st/main.1510e80706059046a306.js:2:10941715) at fs (https://langfa.st/main.1510e80706059046a306.js:2:10952350) at $c (https://langfa.st/main.1510e80706059046a306.js:2:10997432) at Gc (https://langfa.st/main.1510e80706059046a306.js:2:10997360) at Zc (https://langfa.st/main.1510e80706059046a306.js:2:10997202) at Nc (https://langfa.st/main.1510e80706059046a306.js:2:10993991) at yd (https://langfa.st/main.1510e80706059046a306.js:2:11006790) at Cd (https://langfa.st/main.1510e80706059046a306.js:2:11005523) Hey developer

You can provide a way better UX than this when your app throws errors by providing your own ErrorBoundary or errorElement prop on your route."

jaredsohn··on Ask HN: Is your company forcing use of AI?
I think GP is talking about the case where the company hosts its code in a private repo.
jaredsohn··on MCP: An (Accidentally) Universal Plugin System
Feels like segment.com but for calling APIs rather than adding libraries to the frontend.
jaredsohn··on A Deep Dive into Solid Queue for Ruby on Rails
I haven't really felt a need for static typing in my job's Rails app (small team, and I've been working in this codebase a really long time) but I think LLMs can be a huge help for automating the type gymnastics.
jaredsohn··on Show HN: Tool to Automatically Create Organized Commits for PRs
Built this: https://github.com/jaredsohn/git-linear-hook

You can also use the --instructions param for this tool to name commits via the LLM.

jaredsohn··on Show HN: Tool to Automatically Create Organized Commits for PRs
Yeah, could be a separate tool. Another tool could be a GitHub action that checks if the ids are in each commit; I built a prototype of that for work but it needs some polish and permission for a more general release.

Think these tools together make non-squash PRs much easier to deal with for people who don't want to spend the extra time tidying things up.

BTW, really excited to see this. I was thinking about the concept in a thread last year https://news.ycombinator.com/context?id=40765134

"I look forward to the day that I can run a local LLM (for confidentiality reasons) to automatically reorganize commits within my PR. Should be very safe compared to generating code or merging/rebasing other code since it is just changing the grouping of commits and the final code should be unchanged."

jaredsohn··on Show HN: Tool to Automatically Create Organized Commits for PRs
I didn't look at things too closely, but it would be nice if this each commit would include a ticket number from the branch (such as a linear id) and/or pr id in each commit for people who do not squash.

One huge advantage of squashing branches is if you see a commit in a `git blame` you might have an idea of where it came from within GitHub/Linear/other systems.

jaredsohn··on Ask HN: What is the best way to generate a ton of money as a dev?
Or get a ton of a home gym that includes weights; isn't an unrealistic price for a pretty nice one and is functional.
jaredsohn··on My AI skeptic friends are all nuts
Then as a junior you should ask the AI if there is a way to prevent the problem and fix it manually.

You might then argue that they don't know they should ask that; could just configure the AI once to say you are a junior engineer and when you ask the ai to do something, you also want it to help you learn how to avoid problems and prevent them from happening.

jaredsohn··on Coding agent in 94 lines of Ruby
There might be code later that says that if the anthropic api key is not set, then turn off the LLM feature. Wouldn't make sense for this LLM-related code but the concept makes sense for using various APIs from dev.
jaredsohn··on Coding agent in 94 lines of Ruby
re: function that ends in a hash

I assume this is referring to passing hashes in as parameters to methods. Ruby 3 made this more explicit; you must use ** to convert a hash into positional arguments and you must use {} around your key/values if the first argument is a hash.

jaredsohn··on Past, present, and future of Sorbet type syntax
LLMs can probably help maintain them so that probably could be solved if you start using LLMs more.

This maybe already exists, but it would be nice if RBS or Sorbet had a command you could run that checks that all methods have types and tries to 'fix' anything missing via help from an LLM. You'd still be able to review the changes before committing it, just like with lint autofixing. Also you'd need to set up an LLM API key and be comfortable sharing your code with it.

jaredsohn··on Notes on rolling out Cursor and Claude Code
It can automate a lot of the tediousness for static typing, too
jaredsohn··on Why I Am Not Going to Buy a Computer (1987) [pdf]
In a similar way, buying exercise equipment gets you in shape.
jaredsohn··on Ask HN: Low Effort but Useful Activities
Also just stretching, attempting balance, dance drills, etc.
jaredsohn··on Tech workers are leaving notes in robot taxis seeking workers and lovers
LLMs make it a lot harder to obfuscate text like this
← PreviousPage 3 of 34Next →