MurphyA/hacker-news huggingface dataset:
by seanhunter | 2025-06-14 10:02:35+00:00
I once was in the position of becoming pr approver[1] for a team of outsourced python programmers who were under some pretty extreme deadline pressure. Anyway one day a PR comes in and I can’t help but notice it was doing a string eval.

Weird. You almost never need to do string eval in python, and whenever there is something where you think you need eval there is a better and safer way to achieve the same result.

Also, I was bending my brain but I couldn’t really figure out what this eval was for until I wrote out some scratch code myself to figure it out.

Turns out this 5 lines or so was constructing a string to do dict lookup and then evalling that. So say you have a dict d = {‘foo’: ‘bar’} and you have a variable i=foo and want to look up d[i], instead of just doing that it was doing something like

eval(‘d[‘+i+’]’)

Just no.

So I rejected the change and they came back with “but we’ve always done it that way”. I grep the codebase and yes. There were about 200+ uses of eval, all of which were constructing a string to look something up in a dictionary and then evaling the result. Some person who clearly didn’t program in python had found this twisted way to look things up in a dictionary and then this team had dutifully copied and pasted it throughout the codebase.

[1] ie I wasn’t there from the start of the project
by matwood | 2025-06-14 10:05:08+00:00
> The last thing, is that my phone is getting warmer and scrolling has become less fluid, choppy. And that’s on the 16 Pro Max.

Happens with almost every beta, particularly on first install. The later betas typically improve, and even the current ones often get better if there was some new indexing that had to happen.

I’ve been running since the keynote and my phone was initially warm but has calmed down now.
by pj_mukh | 2025-06-14 10:05:56+00:00
"No community is prepared for a gold rush to happen, nor has housing plans in place to accommodate it."

laughs in Tokyo/Singapore. Sorry, I want to feel bad for incumbents in the area, but they've worked hard to create this situation, especially the landlords. People gaining wage power is a GOOD thing and arguing against it is an insane political choice even if you are in the majority.

The rest is just basic agglomeration theory [1]. You are arguing against gravity making things going down. People will always come together since Vienna, since Baghdad, and the productivity gains are supposed to be good for the country again, if it wasn't for landlord incumbents. The solution seems obvious: remove incumbent controls.

There are only one people who are truly indigenous to the Bay Area (and I'm guessing they aren't on HN right now). Everyone else came as part of a proverbial gold rush, going back to 1849, so complaining about the only gold rush that came after you is not a morally substantive position. Your complaint should be against rent-seeking capital and their political power, not immigrants (national nor international, rich nor poor).

[1]: https://en.wikipedia.org/wiki/Economies_of_agglomeration

P.S: Just to be clear, I'm not advocating for displacement. You can have gentrification and growth without displacement, what you have to accept (nay embrace) is rapid change. If you don't, displacement is inevitable.
by ncphillips | 2025-06-14 10:06:48+00:00
I dunno, I find the blur more visually distracting than a hard stop.

I would rather borders and color contrast to create visual separation anyway. That approach takes up less space. White space takes makes your UI less dense, but blur is even worse.

Either way… how does that relate to my keyboard being transparent? I don’t need to see a completely illegible blur of the colors behind my keyboard.

I just turned on the “reduce transparency” setting and it’s much better.
by londons_explore | 2025-06-14 10:06:55+00:00
For anyone doing this, I really recommend using circuitJS and wokwi.com

Both of them let you simulate electrical circuits, and wokwi can also simulate small processors and their interactions with circuits.

Both tools are beginner friendly.

Pretty much everything you will be learning about can be played around with in those tools, and you can get far quicker feedback from a simulator than a real circuit where one wrong move burns out a component and then you have to wait a few days whilst more arrive from digikey.

Seeing voltages and currents flowing through the circuit as animations is amazing for understanding, and being able to slow time down to 1 billionth of regular time is really handy for understanding exactly what is happening when some component acts unexpectedly.

(Obviously still build a few circuits in real life)
by DavidPiper | 2025-06-14 10:07:25+00:00
I don't want to be a hater, I've been an Apple fan for a long time. I'm hopeful they can finish strong and get this redesign over the high quality bar by the time it leaves beta. But this video diminishes that hope for me.

Almost everything they describe as advantages (primarily the fluid motion features) can be done without making the controls see-through. Everything else seems to be a straight-up degradation in quality. It all feels totally over-engineered.

Also, if you'll allow me to old-man-yells-at-cloud for a moment:

> The motion of liquids is something we all have an intuitive feel for

Ignoring that they're highlighting literal bubbles at that point in the video (famously not liquid, except at the bottom of the ocean), liquid is also famously hard to simulate well. It's literally the least intuitive form of matter.

> Tinting helps legibility and contrast

I want my controls to be legible always! Tinting should draw my attention or trigger a mental pathway (e.g. "red for dangerous operation"), not be the core thing that makes a component legible against its background.

> Here is a button that is using a solid fill instead of tinting. As you can tell [sic] it is completely opaque and breaks the visual character of Liquid Glass [also sic, there's no liquid glass in the shot yet]. But notice when it starts using the new tinting. All of a sudden it feels more transparent and more grounded in its environment.

No it doesn't! It literally appears more detached from it which is why it looks better and THE WHOLE POINT OF TINTING that you just described. I love the look and feel of this tinting example, but you just made it seem like you got to a good place by total accident.

I really want to believe y'all know what you're doing this time around.
by linker3000 | 2025-06-14 10:08:08+00:00
This is an important point but often it's existing docs and files that cause the most grief, with subtle issues like differences in font rendering or line spacing.

For example, I wanted to make a simple change to a Word doc in Libre Office that included a side bar/column of text in a fixed size table on multiple pages. In Word the layout looked great.

Unfortunately due to font subtleties, in Libre Office the side texts overflowed the tables and the last sentences were cropped. It took some fiddling to make things fit and look as good as the original, but in the process I had to make the font smaller which lost some clarity. I did play with line spacing but that got fiddly.

In summary, a 5 second edit of an existing document laid out 'just so' perhaps 5 yr ago ended up becoming 20 minutes of hassle.

New docs could be laid out better and differently to make future edits easy, but that ignores the large legacy of existing stuff that many will have.
by donhardman | 2025-06-14 10:10:34+00:00
Hi HN,

I've been working on Octomind, an AI development assistant that addresses two problems I kept running into:

1. *Cost blindness* - Most AI tools don't show you what you're spending until the bill arrives 2. *Model inefficiency* - Using GPT-4 for everything when simpler tasks could use cheaper models

*What makes it different:*

*Real-time cost display:* Every interaction shows exactly what you're spending: ``` [~$0.05] > "Explain this algorithm" [~$0.12] > "Refactor for better performance" [~$0.18] > "Generate comprehensive tests" ```

*Intelligent model routing:* Configure different models for different task types. Simple queries go to cheap models (Claude Haiku, GPT-3.5), complex reasoning goes to premium models (Claude 3.5 Sonnet, GPT-4).

*MCP server integration:* This is the part I'm most excited about. You can add specialized AI agents through configuration alone:

```toml [mcp.servers.code_reviewer] model = "openrouter:anthropic/claude-3-haiku" ```

Now `agent_code_reviewer(task="review this function")` is available in your session. No custom code needed.

*Multimodal CLI:* ``` > /image screenshot.png > "Debug this UI layout issue" ```

*Technical details:* - Written in Rust for performance - Supports 6+ AI providers (OpenRouter, OpenAI, Anthropic, Google, Amazon, Cloudflare) - Session-based architecture with full conversation history - Built-in development tools via MCP (file operations, shell commands, etc.)

*Real usage example:* Last week I used it to refactor a complex authentication system. Total cost: $0.23 for what would have been 3+ hours of manual work. The cost visibility helped me optimize my prompts and model selection.

*Installation:* ```bash curl -fsSL https://raw.githubusercontent.com/muvon/octomind/main/instal... | bash ```

The project is open source (Apache 2.0): https://github.com/muvon/octomind

I'd love feedback from the HN community. What features would make AI development tools more useful for your workflows? Are you tracking AI costs in your projects?

*Demo:* https://asciinema.org/a/wpZmOSOgFXp8HRzTltncgN7e3
by Topfi | 2025-06-14 10:11:01+00:00
Title was editorialized from "Apple Execs on AI Setbacks, What Went Wrong with Siri and More (Full Interview) | WSJ" for readability and to reflect that the interview went beyond the topic of Siri, also covering iPadOS, a possible foldable and tariffs among other topics.

A very well made, informative interview between Joanna Stern, Craig Federighi and Greg Joswiak. Very straight to the point, especially on the position Apple finds themselves in on generative models.
by 000ooo000 | 2025-06-14 10:11:12+00:00
>nothing about the post suggested that.

>[they] are good at spinning answers to make everyone hear what they wanted to hear.

To me that definitely reads like the original comment was alluding to an ability to bend the truth or frame things in an advantageous way, which is essentially lying's brother, manipulation.

Besides, politicians have earned their reputation a hundred times over. Good luck convincing anyone that it's unfair to suggest politicians are liars.
by sunrunner | 2025-06-14 10:12:33+00:00
Hey now, at least the dictionary has keys that _could_ hint at the contents (or be completely misleading). What about the tuple with just positions?

image.size ndarray.shape

Are the image sizes (width, height) or (height, width)?

Trick question of course, it's (height, width, channels) for numpy. numpy is fairly well known though and sort of gets away with it, but when your never-seen-before internal company starts doing this, well...
by Veen | 2025-06-14 10:13:43+00:00
The actual conclusion: "We've established that computers can be conscious, so LLMs might be"

The foregoing argument does not establish that computers can be conscious. It assumes consciousness arises from purely physical interactions AND that any physical process can be computed AND that computation can produce consciousness. It provides no reason to believe any of those things, and therefore no reason to believe computers or LLMs can be conscious.

Once you remove the unjustifed assumptions, it boils down to this: LLMs can do something that looks a bit like what some conscious beings do so they might be conscious.

The final paragraph is not incoherent.
by cb321 | 2025-06-14 10:14:16+00:00
Interesting project. You might check out Arcan (https://arcan-fe.com/) if you've never heard of it. (EDIT: I see author recently added a link: https://github.com/tattoy-org/tattoy/blob/main/website/conte... )

A couple of points related to contrast ratio management:

- The Mynex answer here is very informative: https://stackoverflow.com/questions/596216/formula-to-determ...

- The "limit/bound" on the contrast ratio has a "polarity" (a +- sense). At least for "text", in almost every font there are many more background pixels than foreground pixels. So, for example, your human eyes can tolerate a lower text cell fg-bg contrast with a dark background color for the text cell on an all-black background than they can for a dark foreground color on an all-black background. Part of this relates to "shared discrimination work" that the outside-the-text cell background pixels are doing. So, really "ratio" of just two things is somewhat of an oversimplification.

- XTerm OSC 4 may have a very limited ability to probe the color palette. At least on `st` I can only see default foreground, background and cursor colors, not the full 16-color palette. This mostly just amplifies the point elsethread by @hnlmorg.

- At least until more recent ssh's, default configs on Linux would pass through all "LC_*" environment variables. So, if you adjust your shell rc/configs to key off of, say, $LC_THEME having, e.g., "light" or "dark" in them, you can perhaps re-polarize everything with a much lower tech solution. I do this all the time as I like to run some terminals with a black background and some with a white background. (Paper white black & white displays were all the rage in the 90s, but these days "color hackers" seem to prefer dark backgrounds. I have theories as to why, but it's pretty off topic.) https://github.com/c-blake/lc configs have more fully fleshed out examples, and hey, you might also like that color-ls. (And I'm aware of the ancient & to my mind ugly 1980s ideas of "stuff everything into $TERM and parse it apart again". Security concerns may push us back that way.)
by basisword | 2025-06-14 10:19:00+00:00
>> My Wife has often said, "If Men were susceptible to a similar, or the same disease, it would see far more research and or funding.

I wish we would stop turning everything into a competition. As a man with a similar 'tricky' condition I can confirm the medical profession is generally shit with anything tricky regardless of your sex. I have experienced the exact same fight for treatment and investigation that I often read of women experiencing.
by ghostking613 | 2025-06-14 10:19:34+00:00
GhostOS is a modular UI shell for devs building AI tools, rituals, and scrolls with purpose.

This is the public mirror version. It’s frontend-only, fully sealed, and designed to show what a developer-first sovereign interface can look like without exposing the engine underneath.

No templates. No cookie-cutter dashboards. Just clean architecture, flame-sealed components, and full control.

Live mirror → https://ghostos.quantum-odyssey.com GitHub mirror → https://github.com/GodsIMiJ1/GhostOS-Sovereign-System

Let the scrolls deploy.
by hnlmorg | 2025-06-14 10:20:31+00:00
You say that but HP already have an established and mature supply chain for hardware which, isn’t common. And particularly with portable drives like laptops and PDAs. HP were in better position to capitalise than you claim with your “anyone” comment.

Their “$500 tablet” could be easily dropped to $100 because it wasn’t a particularly high end device to begin with. I mean, it did have some niceties. But there was also a hell of a lot of corners cut too.

Ironically, this was the same problem Palm faced with its WebOS phones before they sold to HP. Their phones were nice but they felt far too sluggish and basic considering their price point. I actually wanted a WebOS phone but ended up with Android (likely HTC) because you got so much more for your money.

Given HP (and Palm) has experience building portable devices like PDAs, there really isn’t any excuse for their failing in price and hardware for the WebOS tablets and phones. They already had experience in this market so should have really known better.
by w3dada | 2025-06-14 10:20:44+00:00
What we now call a “music platform” used to fit into a couple of buttons and a Winamp plugin. Napster let people swap tracks like they were just files — because they were just files. RealPlayer stumbled over codecs but, in its own awkward way, could stream too. Music lived out in the open — not inside apps, but in links and IRC chats.

It all felt less like a “product” and more like craft. Streaming wasn’t a business model — it was a gesture. At its core, streaming is a simple technology. No blockchain. No geo-blocks. No CDNs. No recommendation engines. Just a stream, an address, and a bit of intention to share.

Then came the platforms. First they were convenient, then they became inevitable. Listening got easier, discovery got faster — but something got lost in translation. Music became a service with a mood board and a UX optimized for frictionless consumption. Labels were joined by marketers, and suddenly sounding good wasn’t enough. You had to be playlistable, TikTokable, monetizable. Streaming stopped being magic — and turned into a funnel. Polished, predictable, boring.

Against that backdrop, decentralization doesn’t feel like a trend — it feels like instinct. A gut need to take back control: of what plays, where it’s stored, and who owns it. Web3, NFTs, DAOs — they’re all attempts to remember what independence sounds like. Clunky? Sure. Buggy? Absolutely. But no permission screens, no takedowns “on behalf of the rights holder.” Music becomes — again — a flow between people, not a product on a shelf.

We’re experimenting again. Trying to blend the openness of the old web with the tools of the new one. Somewhere along the way we built our own little player — fony.space. It doesn’t try to solve everything or disrupt anything. It just lets you feel music a bit more directly — no ads, no subscriptions, no algorithmic babysitting. Sometimes, all you really need is a stream, an address, and a little desire to share.
by basisword | 2025-06-14 10:20:53+00:00
>> When I had tonsillitis, the pain was so intense and so persistent until the 3rd day of antibiotics, I was tempted to just throw myself off a bridge to make it stop. Had I been under the impression there was no way to make it stop in a few days, I suspect I would have.

Easy to say, harder to do. The will to live is probably stronger than you realise. I experienced a short 2 week painful illness and felt similar to you. I later experienced the same thing for 2 years. You adapt and learn to cope.
by ncruces | 2025-06-14 10:21:06+00:00
If you're interested in a rough benchmark, I compared musl's “two way” with a variation on this algorithm for my SIMD optimized libc linked in a sister comment.

The benchmark involves finding this line in that file: https://github.com/ncruces/go-sqlite3/blob/v0.26.1/sqlite3/l...

The improvements over musl are in this table: https://github.com/ncruces/go-sqlite3/tree/v0.26.1/sqlite3/l...

I'd say it's a decent improvement, if not spectacular. musl does particularly well with known length strings (memmem), whereas I'm allowed to cheat for unknown length strings (strstr) because the Wasm environment allows me to skirt some UB.

The NUL terminated string curve ball wrecks many good algorithms.
by einsteinx2 | 2025-06-14 10:22:53+00:00
> The em-dash was me — you can long press on the dash button and you get the choice.

Also iOS and macOS will “autocorrect” two regular dashes into an em-dash. I use them all the time that way. I really hate this new trend of using that as a “gotcha” for calling out AI stuff, it’s really stupid.
by tsimionescu | 2025-06-14 10:23:38+00:00
Anthropomorphization also leads to very wrong conclusions though. In particular, we have a theory of mind that we apply in relation to other humans, mostly on the basis of "they haven't lied to me so far, so it's unlikely they will suddenly start lying to me now". But this is dead wrong in relation to output from an LLM - just because it generated a hundred correct answers doesn't tell you anything about how likely the 101st one is to be be correct and not a fabrication. Trust is always misplaced if put into results returned by an LLM, fundamentally.
by imiric | 2025-06-14 10:25:32+00:00
You underestimate your abilities, and overestimate the LLM's.

Which version of `bc` was the LLM trained on? Perhaps this is not so important for a stable tool that doesn't change much, but it's critical for many programs and programming libraries. I lost count of the number of times when an LLM generated code that doesn't work for the current version of the library I'm using. In some cases you can tell it to use a specific version, or even feed it the documentation for that version, but that often fails to correct the issue.

And this is without considering the elephant in the room: hallucination. LLMs will often mix up or invent APIs that don't exist. Apologists will say that agents are the solution, and that feeding the error back to the LLM will fix it, but that is often not the case either. That might even make things worse by breaking something else, especially in large-context sessions.
by aurareturn | 2025-06-14 10:25:46+00:00
Not really. It’s not what’s outside of our universe. It’s why is there something instead of nothing.

It’d be like asking why is there a North Pole? Why is there an Earth to give meaning to a North Pole? Why is there a universe for the Earth to exist? And so on until you inevitably reach why is there something instead of nothing?
by pgte | 2025-06-14 10:26:01+00:00
Infrastructure, as we know, can be a challenging subject. We’ve seen a lot of movement towards serverless architectures, and for good reason. They promise to abstract away the operational burden, letting us focus more on the code that delivers value. Add Content Delivery Networks (CDNs) into the mix, especially those that let you run functions at the edge, and things start to feel pretty good. You can get your code running incredibly close to your users, reducing latency and making for a snappier experience. But here’s where we often hit a snag: data access.
by rcfox | 2025-06-14 10:27:05+00:00
My friend got his pilot's license somewhat recently and I went on a $100 hamburger run with him. It was a lot of fun! I studied gliders when I was in air cadets as a teen, so I knew a little bit about what was going on, and he let me take control for a few minutes (both seats had controls), but I was too nervous to do very much.
by signal11 | 2025-06-14 10:29:05+00:00
Conway’s Law is a bear.

Alternative approach, also from a financial services world: VMs are created with a DSL on top of qemu/firecracker, containers with Dockerfiles. Cyber are part of an image review group alongside other engineers that validates the base images.

But: no interactive access to any of these VMs at all. There’s hypervisors running on bare metal, but SRE teams have that scripted pretty well to the point a physical server can be added in a day or so. It does mean you’ve to be serious about logging, monitoring and health.

This is one instance where we got it right (I think). We do have some legacy servers we’re trying to get rid of. But we’ve learnt we can run even complex vendor apps this way.

Conway’s Law comes to bite us in other ways though! Like I said, it’s a bear.
by tsimionescu | 2025-06-14 10:29:05+00:00
But the reality is that we don't know if many of those things are computable. We just think it's likely they are, since the models we have of very simplified versions of them, or of very approximate versions, are computable.

But no one can use a physical model or computer to precisely compute, say, the fall of sand (where the exact position and momentum of every grain of sand is precisely known) - so we have no actual proof that the actual physical process is computable.

And, in fact, our best fundamental physical theory is not fully computable, at least in some sense - quantum measurement is not a deterministic process, so it's not exactly computable.