MurphyA/hacker-news huggingface dataset:
by burningChrome | 2025-06-16 00:21:41+00:00
I've been studying graffiti for the past few years. Documenting the art and culture of it. The majority of it is very focused around trains. You'll find the most graffiti around or near railroad tracks. There is a very distinct relationship between trains and graffiti.

Even to this day, there is still a ton of the hobo language and communication you can find on nearly every train. Living in the Midwest, its incredibly interesting when you see trains coming in from the East and West coast and the graffiti they still have on them from 10 years ago. The amount of doodles and philosophical thoughts are on every train.

There's so many people documenting this on social media now, its pretty cool.
by AndyKelley | 2025-06-16 00:22:38+00:00
Because in order to get the best dynamic range while listening to diverse music, you need to detect the loudness of tracks and albums and adjust the gain of each track/album accordingly. In order to have room for the music player to adjust the volume higher for quieter tracks, you need to apply a "pregain" to lower the volume overall, while turning up your speakers to compensate. This solves the problem, but by doing this, your music player will generally have a lower volume relative to all other applications on the system, meaning that it generally will be desirable to turn down application-specific volume knobs accordingly.

More information: https://www.youtube.com/watch?v=iuEtQqC-Sqo
by kragen | 2025-06-16 00:22:49+00:00
Semantics are more important than syntax. Prolog's flexible syntax is a nice-to-have rather than essential when you're in Lisp. And Datalog is purely first-order, so the advanced Prolog you're talking about doesn't exist in it.

However, syntax does matter, and this is not acceptable

(dl-find (fresh-vars 1 (lambda (?id) (dl-findo dl ((,?id reachable ,?id)))))))

as a way to ask

reachable(Id, Id).

I think you could, however, write a bit more Scheme and be able to ask

(?id reachable ?id)

which would be acceptable.

However, the ordering betrays a deeper semantic difference with orthodox Datalog, which is about distinct N-ary relations, like a relational database, not binary relations. This implementation seems to be specific to binary relations, so it's not really Datalog for reasons that go beyond mere syntax.

On the other hand, this (from the initial goal) would be perfectly fine:

(dl-rule! dl (reachable ,?x ,?y) :- (edge ,?x ,?z) (reachable ,?z ,?y))

The orthodox Datalog syntax is:

reachable(X, Y) :- edge(X, Z), reachable(Z, Y).
by Mountain_Skies | 2025-06-16 00:24:20+00:00
Many good lessons from this, including the importance of speaking up, one person making a difference, and the importance of drilling down into sources. The Wikipedia article used to state "This was in spite of the fact that up to 200,000 people could have been killed in a potential collapse." using an article in the magazine 'Cross Currents' as the source. If you follow that through the layers of citations, it turns out the 200,000 figure came from an unnamed source at the American Red Cross, which really isn't a reasonable source of such an estimate. I felt a bit chagrined to have used that number when explaining the situation to my nieces about how important it can be for one person speak up and not default to assuming those in authority always have a full understanding of a situation.
by dang | 2025-06-16 00:25:02+00:00
You've been continuing to use HN primarily for political/nationalistic battle, despite our having asked you more than once to stop. You've also been breaking the site guidelines badly in other ways too (such as with personal attacks, e.g. https://news.ycombinator.com/item?id=43524157).

If this keeps up, we're going to have to ban you.

https://news.ycombinator.com/newsguidelines.html
by sytelus | 2025-06-16 00:25:21+00:00
This is great article but it is ruined because author chose to use substack. I don't know why people keep following herd and endup publishing on substack. If you already don't know, Substack has disallowed ChatGPT to crawl anything so you cannot take AI assistance to work on the content. They got this content for free but they want to gatekeep it for profiting from it. Additionally, substack is intentionally horrible at letting allow nicely formatted pdf or readable versions downloaded to lock out the content even further. No one in their right mind should be using substack.

Folks, really, using GitHub pages with static website generator is all you need. Your content will be nice and truly freely accessible to everyone.
by RangerScience | 2025-06-16 00:25:56+00:00
Ruby inheritance is a list of class names. When you call a function on an object, Ruby goes up that list, looking for the first one that defines that function.

If it doesn't find any class defining that function, it calls `method_missing` (and again, goes up the list). The Ruby base object class defines `method_missing`, so if no-other classes in the ineritance list do, you get that one (which then throws the usual error).

IMO, there is zero bloat or complexity added by this; it's super simple language bootstrapping (allowing more of Ruby to be written in Ruby, vs the c interpreter).

What do you see as the bloat and complexity added by this?
by codr7 | 2025-06-16 00:26:18+00:00
My Linux life started even earlier, with a borrowed Red Hat 4 CD around 1995/6.

But it took quite a few years before it ran well enough for me to consider using it full time.

I remember the first versions of GNOME being buggy as hell.

Then I spent a couple of years compiling Gentoo, can't remember actually using it much.
by muglug | 2025-06-16 00:26:54+00:00
Absolutely — but I also think there’s a strong resistance to managers saying “AI is good, really”.

The experience of long-term software engineers (e.g. antirez) who don’t have a horse in the AI race tends to line up much better with my own.

Also really like this one: https://diwank.space/field-notes-from-shipping-real-code-wit...
by dang | 2025-06-16 00:27:52+00:00
Would you please stop posting flamewar comments to HN? You've been breaking the site guidelines very badly for a long time, and we ban accounts that do that.

Since it doesn't look like we've warned you before, I'm not going to ban your account right now, but if you keep doing this, we're going to have to. If you'd please review https://news.ycombinator.com/newsguidelines.html and stick to the rules when posting here, we'd appreciate it.

This means, among other things, not posting flamewar comments (including nationalistic flamewar), not attacking other users, and not using HN primarily for political or ideological battle.
by dang | 2025-06-16 00:30:10+00:00
Could you please stop posting flamewar comments to HN, and please stop using the site primarily for political and nationalistic battle? These things are not what the site is for, and destroy what it is for. You've been doing a great deal of this lately, which is not ok, and (to judge by this account) seem to have little interest in HN for any other reason. That's not cool.

If you'd please review https://news.ycombinator.com/newsguidelines.html and stick to the rules when posting here, we'd appreciate it.

Edit: I did see that you posted quite a few good comments in this thread: https://news.ycombinator.com/item?id=43006536, which is certainly not political or nationalistic battle. That's good. But we need you to stop breaking the site guidelines in other threads, and we need your primary use of HN to be for curiosity, not opposing enemies.
by smeej | 2025-06-16 00:30:18+00:00
I am a woman. I have never used birth control of any kind. (I know, I know. Unicorn. But I'm long-term celibate for personal reasons, so unexpected pregnancy is not a concern.)

It is a bone of contention with my gynecologist that I am not willing to suppress my (screened and confirmed to be) perfectly healthy "ovulation axis" on the off chance it might decrease my headaches.
by jjk166 | 2025-06-16 00:31:31+00:00
> you would expect protective social anxiety to arise in people whose situation hasn't much changed except that they've encountered people whose has (as with sedentary villagers encountering nomads who may or may not be about to ransack their settlement).

No, you would not expect that. If rats that self-isolate when their gut micro-biomes change avoid diseases that other rats get afflicted with, then evolution will lead to the mechanism spreading through the rats over time. The rats do not need to know why self-isolating helps, they do not need to even know that self-isolating helps, and they do not need to be in the position where it would help the most.
by ofu997hn | 2025-06-16 00:31:34+00:00
Location: West Coast, USA Remote: Yes Willing to relocate: Yes Technologies: JavaScript | C# | SQL | HTML | CSS | React | GraphQL | .NET | Node | Git | MongoDB | MS SQL | Résumé/CV: available on request. See my projects at ofu997.netlify.app Email: ofu997@gmail.com Greetings! I'm a .NET web developer with 3 YOE and I'm eager to level up in my next role. I build user interfaces and APIs with JavaScript, C#, and SQL. I'm familiar with MVC frameworks, object-oriented programming, and web app architecture. As a passionate and curious developer, I like to mingle with all aspects of stacks.

Prefer remote but willing to relocate. Ideally, a role that supports learning, growth, and scaling up.
by chongli | 2025-06-16 00:32:08+00:00
Not to mention terracotta is a very common material for potted houseplants and container gardening. Terracotta is low-fired, non-vitreous and porous to water, giving it nice breathability and water absorption characteristics.

There are also long-necked terracotta bottles (called ollas) you can buy (or DIY) which you bury in the ground. You fill the bottle with water and the terracotta itself acts as a wick, providing a slow release continuous underground water source for plants to access.
by jfengel | 2025-06-16 00:32:28+00:00
Here's the good news: we've done basically nothing about climate change even with him, so losing such an esteemed spokesman won't actually make it worse.

Admittedly that's only "good" in the sense that things are maximally bad and cannot get worse. But we might as well fake a smile because that's all we're going to get. I'd say we won't act until it's too late, but it is already too late.
by II2II | 2025-06-16 00:32:51+00:00
Don't worry, engineers can imagine (or, more accurately, analyze) how these buildings will remain standing. A good chunk of it is understanding how to distribute forces throughout a structure. The other chunk of it is understanding the properties of materials. While I didn't read the article in question, I did see the Veritasium video a while back. They have a decent overview of how it works, and how they figured out that there was a problem before the building collapsed. (Specifically, how the change from the original concept to the constructed building posed a problem.)

By the way, trust engineers and never trust physicist with these things. Physicists do have the theoretical tools to handle such problems, but they rarely have the practical knowledge to successfully implement them. :)
by workworkwork71 | 2025-06-16 00:32:54+00:00
Great feedback!

I'd just argue that even the 0.8% from Schwab is $4,000 on their minimum of $500,000. Where I worked (high networth wealth management at large bank) we had a minimum of 1 million and the starter fee was 1.35% or 13,500 annually. Definitely not a crack pot scam advisor and the portfolio management we did was very similar to what we've built out on this app.

We're doing more advanced portfolio construction at the client level then what you're going to get from Schwab and it's $100 a year vs $4000. If the relationship aspect of the advisory channel is important to you, then totally valid and fair point. This platform is aimed at the middle-market of people who aren't financially able to meet those minimums but want a better service then just automated portfolios.

> Customization

Great point! We would just not consider risk appetite an actual customization. After you've selected your risk, you're placed/bucketed into one of five portfolios that they offer and manage themselves.

What we do is factor in the risk appetite of the user plus the goal itself (whether you have a date you want the funds for or the importance of the goal) and then model it against evolving capital market expectations featuring 30+ domestic & global asset classes, constructing the optimal ETF portfolio to meet your return requirement at the lowest risk possible.

> Investment strategies

Another good point that we need to make more clear. We are modeling these portfolios using an institutional model with a wide range of asset classes and a "glidepath" (target date) structure like the US retirement portfolios. This prioritizes capital accumulation at earlier stages and then de-risks the portfolio gradually to make sure you have the capital you need as you reach your goal. It's a dynamic portfolio that evolves over time.
by arcfour | 2025-06-16 00:33:15+00:00
But you would need something that interprets the MP4 or MP3 as an executable, or an exploit in whatever decoder software is being used that allows you to hijack execution and run your own code instead of decoding and playing the media?

Or you are talking about an executable that simply plays a media file but is still actually an executable...which is an unsophisticated "attack" that I'm pretty sure was last used 20 years ago for being so obvious?
by smeej | 2025-06-16 00:33:23+00:00
Does her program have a website or something where I could learn about it and find her contact info?

I've dealt with a handful of such specialists before, each of which thought they had discovered something everyone else was missing, so before I consider shelling out another five figures on hopeium, I'd love to read/listen to anything she's said publicly about what she's doing.
by aspenmayer | 2025-06-16 00:33:49+00:00
Sure, why not? lol

https://www.reddit.com/r/DataHoarder/comments/1entowq/i_made...

https://github.com/shloop/google-book-scraper

The fact that Meta torrented Books3 and other datasets seems to be by self-admission by Meta employees who performed the work and/or oversaw those who themselves did the work, so that is not really under dispute or ambiguous.

https://torrentfreak.com/meta-admits-use-of-pirated-book-dat...
by Eridrus | 2025-06-16 00:34:01+00:00
I do mean this seriously.

YC manages truly incredible returns, and you can just... join those companies after they have gotten the YC seal of approval (or any other signal you like).

Unlike a VC, you do not have to "return the fund", so you are excited about a much wider range of outcomes than just the top outliers, and you are not locked in and can leave.

It is also much easier for an employee to get into a hot startup than an investor.

You also don't have to deploy a certain amount of capital or join a startup if you don't see one that you think will be successful.

Particularly in the b2b space, I think it's quite straight forward to see if the company is doing something valuable or if their idea is dumb and bad.
by Timothycquinn | 2025-06-16 00:34:25+00:00
Considering that Microsoft was a completely different beast in that time, I'm not surprised it does not seem that silly.

M$ (appropriate name for that time) of the day was doing its best to own everything and the did not let up on trying to hold back the open source internet technologies until the early 2010's I believe. Its my opinion that they were successful in killing Java Applets, which were never able to improve past the first versions and JavaScript and CSS in general was held back many years.

I still recall my corporate overloards trying to push me to support IE's latest 'technologies' but I resisted and instead started supporting Mozilla 3.0 as soon as they fixed some core JS bugs for our custom built enterprise JavaScript SPA tools in the early 2000's. It turned out to be a great decision as the fortune 500 company started using Mozilla / Firefox in other internal apps in later years long before it became common place.
by satisfice | 2025-06-16 00:34:53+00:00
Was this article written by AI? If I argue with it, am I arguing with a real person? Is it written by a corporate shill? Again, if I argue with it, am I talking to a wall?

AI (and before that, corporations) makes skepticism more and more a basic survival skill.

Since this is partly an experience report, it is only as trustworthy as its author, whoever that is. What is this person risking by writing it?

The content seems plausible to me. However, what I’m missing here is:

- how does he test?

- how does he keep himself sharp while his tools are doing so much?

- How does he model the failure modes of this approach, or does he just feel it?

I am not having the same feeling of success as this guy is as I experiment with the same tech. Maybe he’s better than me at using it. Or maybe he’s easily impressed.
by chrisweekly | 2025-06-16 00:35:05+00:00
Not OP, and I don't have specific stake in any AI companies, but IMHO (as someone doing web-related things for a living (as a developer, team lead, "architect", product manager, consultant, and manager) since 1998, I think we pretty much all of us have skin in the game, whether or not we back a particular horse.
by Amyang | 2025-06-16 00:35:16+00:00
Built this to solve blockchain's biggest barrier: why should securing a network require expensive hardware and technical expertise?

Instead of proof-of-work mining, users submit real achievements (ran 5 miles, cooked dinner, fixed a bug) that get validated through academic-style peer review. Community + AI nodes score on innovation, dedication, significance, and presentation.

Technical stack: BIP32/BIP39 crypto, Socket.IO P2P networking, Sparse Merkle Trees for state management. 3-minute deterministic consensus cycles (AwesomeCom sessions).

Just shipped the iOS app alongside the web version. Finally have blockchain that my non-technical friends actually understand and use.

Not a cryptocurrency - AwesomeCoins are just achievement points. This is about making blockchain accessible to regular people who want permanent recognition for their accomplishments.
by Amyang | 2025-06-16 00:35:50+00:00
Built this to solve blockchain's biggest barrier: why should securing a network require expensive hardware and technical expertise?

Instead of proof-of-work mining, users submit real achievements (ran 5 miles, cooked dinner, fixed a bug) that get validated through academic-style peer review. Community + AI nodes score on innovation, dedication, significance, and presentation.

Technical stack: BIP32/BIP39 crypto, Socket.IO P2P networking, Sparse Merkle Trees for state management. 3-minute deterministic consensus cycles (AwesomeCom sessions).

Just shipped the iOS app alongside the web version. Finally have blockchain that my non-technical friends actually understand and use.

Not a cryptocurrency - AwesomeCoins are just achievement points. This is about making blockchain accessible to regular people who want permanent recognition for their accomplishments.
by brudgers | 2025-06-16 00:36:19+00:00
In 1900, QRS began making piano rolls. By 1920, they had invented a machine to capture piano players directly and over the years QRS captured many including Liberace, George Gershwin, and even Roger Miller playing Autumn Leaves.

QRS is still in business and some of its product lines use Midi conversions of piano rolls and last month I landed a mixed lot with a bunch of those Midi files on 3.5” floppy disks.

I had George Gershwin rocking a Yamaha XG clavichord and Liberace on a Sitar and similar shenanigans.
by forrestthewoods | 2025-06-16 00:38:29+00:00
> Every allocation takes 110116790943 / 10000000000 ≈ 11 instructions and 21074240395 / 10000000000 ≈ 2.1 cycles

I don’t believe this in even the slightest. That is not a meaningful metric for literally any actual workload in the universe. It defies common sense.

A few years ago I ran some benchmarks on an old but vaguely reasonable work load. I came up with a p95 or just 25nanoseconds but p99.9 on the order of tens of microseconds. https://www.forrestthewoods.com/blog/benchmarking-malloc-wit...

Of course “2% of time in GC” is doing a lot of heavy lifting here. But I’d really need to see a real work load for me to start to believe.
by spacechild1 | 2025-06-16 00:38:36+00:00
First, thanks for providing SumataraPDF as free software! I don't want to disparage your software in any way. I don't really care how it's written as long as it works well - and it does! This is really just about your blog post.

> I just looked and out of 35 uses of MkFunc0 only about 3 (related to running a thread) allocate the args.

In that case, std::function wouldn't allocate either.

> All others use a pointer to an object that exists anyway. For example, I have a class MyWindow with a button. A click callback would have MyWindow* as an argument because that's the data needed to perform that action. That's the case for all UI widgets and they are majority uses of callbacks.

That's what I would have guessed. Either way, I would just use std::bind or a little lambda:

struct MyWindow { void onButtonClicked(); }; // old-school: std::bind setCallback(std::bind(&MyWindow::onButtonClicked, window)); // modern: a simple lambda setCallback([window]() { window->onButtonClicked(); });

If your app crashes in MyWindow::onButtonClicked, that method would be on the top of the stack trace. IIUC this was your original concern. Most of your other points are just speculation. (The compile time argument technically holds, but I'm not sure to which extend it really shows in practice. Again, I would need some numbers.)

> I know things because I've been programming, learning, benchmarking for 30 years.

Thinking that one "knows things" is dangerous. Things change and what we once learned might have become outdated or even wrong.

> I know that using 16 bytes instead of 64 bytes is faster. And I know that likely it won't be captured by a microbenchmark.

Well, not necessarily. If you don't allocate any capture data, then your solution will win. Otherwise it might actually perform worse. In your blog post, you just claimed that your solution is faster overall, without providing any evidence.

Side note: I'm a bit surprised that std::function takes up 64 bytes in 64-bit MSVC, but I can confirm that it's true! With 64-bit GCC and Clang it's 32 bytes, which I find more reasonable.

> And even if it was, the difference would be miniscule.

That's what I would think as well. Personally, I wouldn't even bother with the performance of a callback function wrapper in a UI application. It just won't make a difference.

> But I know that if I do many optimizations like that, it'll add up even if each individual optimization seems not worth it.

Amdahl's law still holds. You need to optimize the parts that actually matter. It doesn't mean you should be careless, but we need to keep things in perspective. (I would care if this was called hundreds or thousands of times within a few milliseconds, like in a realtime audio application, but this is not the case here.)

To be fair, in your blog post you do concede that std::function has overall better ergonomics, but I still think you are vastly overselling the upsides of your solution.
by catapart | 2025-06-16 00:39:03+00:00
The chasm between "practical and useful utilities that have long term viability without a vast knowledge of the underlying mechanisms" and what AI-immersed devs consider "practical" and "useful" grows wider every time I check in.

Snarky and dismissive, sure. But the Wii wasn't a "1 to 1 motion matching" machine no matter how many people insisted it was. It was just "better than anything before had ever been". Which is not the same thing as "good". I'm not holding anything against anyone. The Wii was an incredible console, an LLMs are an incredible technology. I'd just like to read some thoughts on the tech from people who are more aligned with myself in their discernment. If, for nothing else, some variety.