MurphyA/hacker-news huggingface dataset:
by gruez | 2025-08-22 14:42:21+00:00
>Just like DDR3 has the lowest CAS latency with ok bandwidth and longevity.

Source? AFAIK successive generations eventually had the same or slightly CAS latency in absolute terms. However, because CAS latency is measured in clock cycles, and successive generations have higher clock speeds, the latency "number" is higher, but that's an illusion. DDR3-1600 CL8 has the same latency as DDR4-3200 CL16.

>DDR2 probably lasts more than 100 years.

>Think about that, any device manufactured in the coming 50 years will be outlived by 32-bit Raspberry 2!

What's the point of it lasting 100 years if it's terribly out of date? An IDE drive from the 2000s is basically unusable today, 20 years later. CPU from around the same era is basically on its last legs because software support is being dropped[1]. Your SSDs are going to suffer the same fate. And that's not even factoring in other considerations like power consumption, and the hassle of trying to connect 30 drives to a computer.

[1] eg. https://www.reddit.com/r/linux/comments/18mrxjk/debian_end_o...
by taeric | 2025-08-22 14:42:30+00:00
Personal anecdotes definitely shape thoughts here. Mine is that I have used transit and biking in Atlanta and Seattle to get to work for the past few decades. I have liked the money savings, especially back when I couldn't afford a car. I also like the exercise portion. I didn't even mind the having to wait for a bus/train aspect, as I enjoy consuming books.

However, I couldn't ignore that I was virtually alone in my office for having taken transit in Atlanta. In Seattle, I'm assuming more of my colleagues were using it, but as you went up the pay ladder, cars became the norm. Overwhelmingly so. And yes, traffic was bad in both places, but if I wanted to be home to office in the least time, I left early in a car.

And I want to be clear that I don't think they are strictly superior. Certainly not for single people. But the biggest question I have to ask about taking a car somewhere is if I have the money for the gas. To get there by transit takes considerably more thought. (Or luck, if you are on a main transit point at both locations, I suppose?)
by shorden | 2025-08-22 14:42:33+00:00
That's an excellent question, I thought the exact same thing when I wrote this article. From what I can tell [child](https://github.com/NetHack/NetHack/blob/ed600d9f0f3c37677418...) properly spawns a child process with the real uid/gid instead of the effective uid/gid. And to your point, there are actually a decent number of [CVEs](https://www.nethack.org/security/) due to NetHack being set[ug]id.
by dahart | 2025-08-22 14:42:53+00:00
Admitting mistakes isn’t navel gazing, it’s basic humility, and it’s valuable and underrated in many social situations. You have a good point about the rest, but it’s orthogonal to this article so there’s no need to crap on it. Strong vision and aggressive pursuit of goals can indeed sometimes be motivating, but it also takes humility or it can become overbearing. Lack of vision is certainly a common failing of many managers.
by piva00 | 2025-08-22 14:43:05+00:00
Very much the same for me. I use some LLMs to do small tasks at work where I know they can be useful, it's about 5-10% of my coding work which itself is about 20% of my time.

Outside of work though it's been great to have LLMs to dive into stuff I don't work with, which would take me months of learning to start from scratch. Mostly programming microcontrollers for toy projects, or helping some artists I know to bring their vision to life.

It's absurdly fun to get kickstarted into a new domain without having to learn the nitty-gritty first but I eventually need to learn it, it just lowers the timeframe to when the project becomes fun to work with (aka: it barely works but does something that can be expanded upon).
by NoMoreNicksLeft | 2025-08-22 14:43:39+00:00
I confess to being in Texas. But in this city, the bagger always pushes the cart, and returns it to the store. They don't even have cart corrals in the parking lot because this is how they expect it to work. Maybe for other stores it is some sort of cart management solution, but where I am I can imagine no other possible purpose than (ineffective) loss prevention.
by jstimpfle | 2025-08-22 14:43:47+00:00
What do you mean by "when 8-bit filenames are used"? Do you mean the -A APIs, like CreateFileA()? Those do not take UTF-8, mind you -- unless you are using a relatively recent version of Windows that allows you to run your process with a UTF-8 codepage.

In general, Windows filenames are Unicode and you can always express those filenames by using the -W APIs (like CreateFileW()).
by beAbU | 2025-08-22 14:44:11+00:00
Get a tv that looks good in the store. Set it up, but don't connect it to your network. Not even once.

If it doesn't work without network, take it back to the shop. "TV does not work without wifi, I have no wifi. Please sell me a TV that works without wifi." Repeat if necessary.

At some point these fucking snakes will hopefully get the message.
by tango12 | 2025-08-22 14:44:15+00:00
The AI being wrong problem is probably not insurmountable.

Humans have meta-cognition that helps them judge if they're doing a thing with lots of assumptions vs doing something that's blessed.

Humans decouple planning from execution right? Not fully but we choose when to separate it and when to not.

If we had enough data on here's a good plan given user context and here's a bad plan, it doesn't seem unreasonable to have a pretty reliable meta cognition capability on the goodness of a plan.
by tux3 | 2025-08-22 14:44:26+00:00
I thankfully found out when writing unit tests instead of in production. In Go time.Time has a much higher range than time.Duration, so it's very easy to have an overflow when you take a time difference. But there's also no error returned in general when manipulating time.Duration, you have to remember to check carefully around each operation to know if it risks going out of range.

Internally time.Duration is a single 64bit count, while time.Time is two more complicated 64bit fields plus a location
by vidarh | 2025-08-22 14:45:19+00:00
This is a good point, and to drive this home to people, if you have a conversation of this pattern:

User: Fix this problem ... Assistant: X User: No, don't do X Assistant: Y User: No, Y is wrong too. Assistant: X

It is generally pointless to continue. You now have a context that is full of the assistant explaining to you and itself why X and Y are the right answers, and much less context of you explaining why it is wrong.

If you reach that state, start over, and constrain your initial request to exclude X and Y. If it brings up either again, start over, and constrain your request further.

If the model is bad at handling multiple turns without getting into a loop, telling it that it is wrong is not generally going to achieve anything, but starting over with better instructions often will.

I see so many people get stuck "arguing" with a model over this, getting more and more frustrated as the model keeps repeating variations of the broken answer, without realising they're filling the context with arguments from the model for why the broken answer is right.
by raattgift | 2025-08-22 14:45:32+00:00
Several of her first-or-sole-author minimal length quantum gravity phenomenology papers have more than a hundred citations:

https://scholar.google.com/citations?user=NaQZcyYAAAAJ&hl=en

and if nothing else, that's strong evidence that she has made a contribution to academic dialogue in that area.

Hossenfelder et al. 2003 in particular, is quite striking for an early career researcher: <https://scholar.google.com/citations?view_op=view_citation&h...>. Also noteworthy are several early publications on either side of her 2003 doctoral thesis on microscopic black holes in large extra dimensions. In that period numerous co-authors, reviewers, and editors supplied indirect evidence against your claim that her papers "were pretty bad".

Quite a lot of strong constraints on large extra dimensions came out of the LHC work eight to twelve years after these publications. Her old link-rotting written blog captures some of that: <https://backreaction.blogspot.com/2011/06/extra-dimensions-a...>, for instance.

There is an enormous difference between being wrong and publishing nonsense.

> at least those I read

You could have usefully supplied a short annotated bibliography. It would certainly make your final sentence

> She is pure show

less likely to be seen as nonsense and more likely to be seen as wrong.

Whatever she has become in the past couple of years, she was certainly not pure show in the first eight or so years after her doctorate.
by drweevil | 2025-08-22 14:45:33+00:00
In my programming career I mainly used both C and C++ on DOS/Windows, SunOS, and Linux (with a side of Pascal and Python). Mostly C++ though.

C: Pre C++, C was it. (It was Borland's excellent Turbo C that got me going in C.) After C++ became available C was still what one used for device drivers and other system-level modules, and was the choice for FFI interfacing for languages such as Python.

C++: for userland layers of instrument control systems, user programs, GUIs, etc.

C++ offers a few very important advantages:

* Its object system allows for better abstraction facilities. For example, smart pointers were very useful in mitigating memory leaks. (I even wrote a smart pointer that--under a generalized pointer interface--specialized in allocating and managing DOS extended memory. Remember that shit? Doing the same in C was a PITA.) * Later, template metaprogramming took this to a new level. Though C++ metaprogramming is not nearly as flexible as the ones in Lisps, it is still tremendously useful. * The STL arose from both of these features, and provides a rich set of abstractions: queues, maps, trees, etc.

People did tend to overuse the OOP facilities (everything is an object!) but it's hard to overstate how useful OOP and metaprogramming can be. Use C++ unless there is a good reason to use C.
by morninglight | 2025-08-22 14:45:55+00:00
Amazon's problems with fraudulent memory products were well documented in 2023 when GRC published their test results for a dozen such drives purchased from the site. In response, GRC developed a free program, called "ValiDrive", to scan and test drives for this growing problem.

ValiDrive performs a quick, random-sequence spot-check across the drive's entire declared storage space. At every location it verifies the successful storage and retrieval of random (unspoofable) test data.

https://www.grc.com/validrive.htm

The program has been extensively tested, is freely downloadable and comes from a well respected site with a long history in the security business. Steve Gibson announced this development in 2023 and it has been downloaded over 600,000 times.

https://www.grc.com/freepopular.htm

In addition to this effort, Steve has been creating an in-depth weekly podcast called "Security Now" for over 20 years. An archive of all 1039 podcasts and transcripts can be found online where they are freely downloadable.

https://www.grc.com/securitynow.htm
by troupo | 2025-08-22 14:46:06+00:00
Because as with many, many, many APIs that Chrome ships it's not a spec:

- there's a giant banner on the left saying "unofficial"

- The "Status of this document" section states the following:

--- start quote ---

This document is a draft of a potential specification. It has no official standing of any kind and does not represent the support or consensus of any standards organization.

--- end quote ---

But just because it was shipped in Chrome and has some napkin scribbles resembling an official spec, people will both claim it's a spec and expect everyone to implement it.
by tensafefrogs | 2025-08-22 14:46:18+00:00
Looks nice. I didn't see any time series use for trend analysis, will you be adding support for that? I think that's the area where I've seen the most demand for this type of assisted data exploration.

I also noticed that you have your org id in your LLM trace - does that mean that you are trusting your agent to limit the orgs it queries? If so that seems quite dangerous as it could be tainted by prompt injection, no?
by btown | 2025-08-22 14:46:53+00:00
Having spent a lot of time lurking on the frustratingly-slow-moving bikeshedding thread for the Javascript pipe operator [0], there's a great irony that a lot of people want a pipe operator because they don't want to deal with function composition in any way, other than just applying a series of operations to their data!

I think there's a big gap pedagogically here. Once a person understands functional programming, these kinds of composition shorthands make for very straightforward and intuitive code.

But, if you're just understanding basic Haskell/Clojure syntax, or stuck in the rabbit hole of "monad is a monoid" style introductions, a beginner could easily start to think: "This functional stuff is really making me need to think in reverse, to need to know my full pipeline before I type a single character, and even perhaps to need to write Lisp-like (g (f x)) style constructs that are quite the opposite of the way my data is flowing."

I'm quite partial to tutorials like Railway Oriented Programming [1] which start from a practical imperative problem, embrace the idea that data and code should feel like they flow in the same direction, and gradually guide the reader to understanding the power of the functional tools they can bring to bear!

If anything, I hope this hack sparks good conversations :)

[0] https://github.com/tc39/proposal-pipeline-operator/issues/91 - 6 years and 793 comments!

[1] https://fsharpforfunandprofit.com/rop/
by ogham | 2025-08-22 14:47:13+00:00
Thanks! Yes we have plans to support ClickHouse.

The reason we don't is that we currently use Drizzle for schema introspection and query building and Drizzle doesn't have an adapter for ClickHouse yet.

There's an active issue on the Drizzle repo requesting Clickhouse support that has some interest and the possibility of using the Postgres interface that ClickHouse exposes was discussed there.

Would be great to talk about this in more detail with you, shoot me an email (eoghan@inconvo.ai)
by K0balt | 2025-08-22 14:47:41+00:00
I think there was a a line somewhere between “we will literally run ads that purport to sell products that obviously cannot exist based on any known physics” and “we audit the financials of the parent companies of anyone that advertises on our platform” that would reasonably qualify as due diligence.

The problem isn’t that sometimes Google screws up and lets a bad actor advertise on its platform, it’s that Google (and others) have made it their business model to allow bad actors to advertise on their platform. They knowingly profit from fraud.

Out of curiosity I have followed up on some of the most blatantly ridiculous ads. They typically are a first tier filter for gullibility, and never actually lead to the promised product, but rather diverting into a web of identity theft fishing, investing fraud, cryptocurrency theft, malware droppers, etc. These are funnels into real harm. And the sucker pitch is intentionally an obviously impossible product that any decent 7B LLM would tell you is probably fraudulent.

Now that I followed a few up to see where they went, that account gets shown hundreds of ads of this type from Google, and especially on YouTube. I did some AdWords research to see what those click throughs would sell for and they are very high priced exposures and clicks.

This would be trivial for Google to flag if they wanted to, but it’s a significant and growing revenue generator.
by woodruffw | 2025-08-22 14:48:12+00:00
> "uv build" makes .wheel files, so it is analogous to "cargo publish" (which makes .crate files) as opposed to "cargo build"

This isn't exactly right: `uv build` executes a PEP 517[1] build backend interface, which turns a Python source tree into installable distributions. Those distributions can be sdists or wheels; in this sense, it's closer to `cargo build` than `cargo publish`.

The closer analogy for `cargo publish` would be `uv publish`, which also already exists[2]: that command takes an installable distribution and uploads it to an index.

TL;DR: `uv build` is a proxy for a build system, because that's how distribution construction is standardized in Python. I would not say it's analogous to `cargo publish`, since it's responsible for builds, not publishes.

[1]: https://peps.python.org/pep-0517/

[2]: https://docs.astral.sh/uv/guides/package/#publishing-your-pa...
by nasretdinov | 2025-08-22 14:48:20+00:00
The Read() method is certainly an exception rather than a rule. The common convention is to return nil value upon encountering an error unless there's real value in returning both, e.g. for a partial read that failed in the end but produced some non-empty result nevertheless. It's a rare occasion, yes, but if you absolutely have to handle this case you can. Otherwise you typically ignore the result if err!=nil. It's a mess, true, but real world is also quite messy unfortunately, and Go acknowledges that
by taeric | 2025-08-22 14:49:01+00:00
5 miles is a ridiculously short radius. Even keeping to that, though, the elementary school is 2.5 miles away, with 250 feet of climb. 20 minutes down to about 5 if I consider bike to car. (And that is at speeds I can keep on that climb. The kids are almost certainly taking longer than 20 minutes on a bike.)

Back when I was in Seattle proper, I can agree. As I say elsewhere, I'm actually a major fan/proponent of transit and walking. Thought it was amazing that the elementary school would walk the kids to the science center for field trips. But I couldn't not see that as you get people that can afford a car and home to park it, they used their car more.
by arp242 | 2025-08-22 14:49:02+00:00
https://quillette.com/2019/02/12/it-isnt-your-imagination-tw...

https://web.archive.org/web/20230118212512/https://www.richa...

https://web.archive.org/web/20220628153148/https://f621cf77-...

Didn't have it bookmarked; really didn't take that long to find it because it's literally the first search result: https://imgur.com/a/FZQ1D7b

That you simply repeat talking points in your "fact check" says a lot.
by mock-possum | 2025-08-22 14:49:02+00:00
“AI” can’t, but the person running the tool can.

The contributor is the human that chose to run the LLM, not the “AI” itself - so the real question is, why isn’t the human’s code copyrightable, and why can’t the human sign a contributor agreement?

Besides, this stuff is not what the author is concerned about:

> I think the major issue is inexperienced human drivers of AI that aren't able to adequately review their generated code … I try to assist inexperienced contributors and coach them to the finish line, because getting a PR accepted is an achievement to be proud of. But if it's just an AI on the other side, I don't need to put in this effort.

They want to coach aspiring contributors based on code they’ve written themselves, not based on how they prompt their AI.

It’s a matter of how they enjoy spending their time.
by evelant | 2025-08-22 14:49:19+00:00
Have you considered expanding this idea to more than just ebikes?

For example at least here in the US lithium ion tool batteries come with lots of different connector shapes just to lock users into a brand and are not repairable. Manufacturers charge a lot for the batteries, often more than the tools, and if (when) they go bad they just have to be thrown out. Manufacturers even occasionally "upgrade" their battery designs so that they're not backwards compatible to force purchase of new batteries for newer tools. A universal repairable tool battery would likely be a big hit!

Another use case might be USB power packs. These are all sealed and not repairable. They go bad after awhile and the whole thing is waste when it's most likely just a single cell failing.
by tremon | 2025-08-22 14:49:25+00:00
I think having http in the standard library is a perfect example of the dead batteries problem: should the stdlib http also support QUIC and/or websockets? If you choose to include it, you've made stdlib include support for very specific use cases. If you choose not to include it, should the quic crate then extend or subsume the stdlib http implementation? If you choose subsume, you've created a dead battery. If you choose extend, you've created a maintenance nightmare by introducing a dependency between stdlib and an external crate.
by _DeadFred_ | 2025-08-22 14:50:19+00:00
It's no longer a company it's an empire. Got it. But the executive layer didn’t shrink. You don’t just have one CEO now you have the CEO, presidents of divisions, business-unit heads, all pulling down compensation packages that in the 1970s would’ve looked like outliers even for the very top.

Is revenue per employee the best metric? Productivity gains don’t automatically justify higher executive pay. Most of those gains come from technology the CEO didn't invent or personally implement, supply-chain leverage, and cost-cutting at the bottom, not from some surge of genius at the top. Yet the financial rewards are heavily skewed upward, while median wages flatlined. Plus you know the rule about what you measure being what you get more of. All that would happens under your metric is CEOs push to move to 'contractors' to reduce the measured headcount to justify an even higher salary.

Changing the metric just masks things. Society is broken for those at the bottom, and if their numbers grow too large, it will become broken for everyone.
by PaulHoule | 2025-08-22 14:50:42+00:00
The generic outer solar system body of a certain size has an internal ocean. Radioactive heat from the core can do it as can tidal heating as in the Io- Europa-Ganymede triangle. There's a difference between the case where the ocean is between two ice layers and the case where it is between an ice layer and a rock layer, the later is a better scenario for life because more diverse resources are available.

You certainly can run an ecology on chemical potentials

https://en.wikipedia.org/wiki/Hydrothermal_vent

and it's possible that terrestrial life started in such a place but not so clear you can get a tall enough trophic hierarchy

https://en.wikipedia.org/wiki/Food_web

to get higher forms of life and intelligence. Still I think about what happens if an ice dweller manages to drill their way up to the surface and see the stars.
by const_cast | 2025-08-22 14:50:58+00:00
The next evolution is you don't need applications at all. Applications are for automation speed, nothing else.

Prior to computers, processes were completed by human to human communication. Hard to scale, impossible to automate. So then we had applications, which force fairly strict processes into a funnel.

But they're extremely restrictive and hard to make.

If you already have God AI, you just don't need an application. I don't go to an airlines website and book a flight. No, I ask my assistant to book me a flight, and then I have a flight.

The assistant might talk to the airline, or maybe hundreds of other AI. But it gets it done instantly, and I don't have to interface with a webpage. The AI have a standard language amongst themselves. It might be English, it might not be.
by rockfishroll | 2025-08-22 14:51:10+00:00
I think this solution also misses the fact that certain kinds of people (like bored kids) will walk through fire for a free quarter. It's not even the money, it's the novelty. So if you have a population of people who consider the charge 'the cost of shopping' and don't care enough about 25 cents to return the cart, you still have a whole other population of people who will hunt them down and return them for those people.

As a kid, I almost missed a flight while hunting luggage carts at the airport.