MurphyA/hacker-news huggingface dataset:
by ChrisMarshallNY | 2025-04-09 09:16:48+00:00
I’m retired, these days, and spend the majority of every day, writing software.

I treat it as a craft, and do it for personal fulfillment and learning. I enjoy learning, and solving problems. I also enjoy creating stuff that I find aesthetically pleasing.

For example, I write iOS apps, and I’m working on a new version of a timer app that I’ve had in the App Store, for over a decade. I had added a Watch app to it, and had gotten to the point where it was ready for the App Store, but I kept having sync issues. It wasn’t a “showstopper,” but it was aesthetically not pleasing.

I determined that it was an issue that could be addressed by improving the fundamental design of the app, which had basically been constant for many years.

So I'm rewriting it completely.

That’s not something that makes “commercial” sense, but it’s what I want to do. I’ll also take the opportunity to redesign the basic UI.

I enjoy having that kind of freedom.

I also like to write about my work. I know that very few people are interested in reading it, but I do it, because it helps me to learn (the best way to learn, is to teach), and it helps me to focus my thoughts.
by PLG88 | 2025-04-09 09:17:09+00:00
Agreed. This is why imho Tailscale does not scale very well. Awesome for home labs and small orgs as a VPN replacement, but not enterprise scale with abstrations that actually remove complexity. I wrote about it in this blog - https://netfoundry.io/vpns/tailscale-and-wireguard-versus-ne...
by meheleventyone | 2025-04-09 09:17:48+00:00
The issue is that there is no obvious driver for growth at the moment and the industry has seen pretty obscene growth over the twenty years I've been part of it. That's made VCs very gun shy, particularly as a lot of the companies they've funded have nose dived pretty spectacularly. It's no surprise that the two recent successes Helldivers 2 and Marvel Rivals both come from publisher funding and for the latter has a very strong IP licenced for it. All of this is definitely causing a dramatic impact on the number of content producing studios getting VC funding and publisher investment in to new live service titles.

Outside of live service everyone is also looking for that new growth driver. In my opinion the chances are though we're in for a longish period of stagnation. I don't even share the OPs rosey outlook towards more "grassroots" developers. Firstly because they're still businesses even with a big name attached. Secondly because there is going to be a bloodbath due to the large number of developers pivoting in that direction. It'll end up like the indie market where there are so many entrants success is extremely challenging to find.
by close04 | 2025-04-09 09:18:18+00:00
> confirming that coding itself, not mere proximity to ping pong tables, contributes to their dissenting mindset

It might even be that the highly regarded and remunerated job of coding is what gives the people the mindset that they can afford dissent. Those people may thing not only that they're more entitled to have a dissenting opinion but more importantly feel safer expressing it.
by tomsto | 2025-04-09 09:18:55+00:00
This is a really interesting idea and the unit economics are great. However when I researched this (or rather Gemini 2.5 Pro researched this) the problem appears that Haber-Bosch produces ammonia, whereas Birkeland-Eyde produces nitrate, which then needs to be converted in nitric acid. Getting from nitric acid to ammonium nitrate (which dominates the fertiliser market) needs ammonia from somewhere, which destroys the economics.

However calcium nitrate, potassium nitrate production via B-E looks really interesting.
by marvinblum | 2025-04-09 09:19:58+00:00
It's the same for me. I've switched to DuckDuckGo about 2 or 3 years ago and it feels like Google used to. I'm always shocked to see how bad the results are and how cluttered the top section is on Google if I happen to search there on someone else's computer.

LLMs have mostly been useful for three things: single line code completion (in GoLand), quickly translating JSON, and generating/optimizing marketing texts.
by Paracompact | 2025-04-09 09:20:07+00:00
> Maybe Cycorp's knowledge base will be made generally accessible at some point

I would sooner hold my breath waiting for OpenAI to open up than Cycorp :)

> It took even more than forty years and costed at least as much before neural networks became really useful

The correct class of comparison to make with "neural networks" would be "symbolic AI" writ large. Symbolic AIs have been working quite well in some areas. Just not at all in terms of common sense reasoning, or anything approaching AGI.

If you want to keep "Cyc" in the comparison, then I would argue there is no comparison possible. Without exaggeration, there has never been a single project in AI as expensive as Cyc before 2020. Only with GPT-2 did the cost start to exceed the million USD mark. (Without exact figures, AlphaGo and Deep Blue probably also cost millions of dollars, but they unambiguously worked.)

It's also just not true that it took 40 years. Consider e.g. LeNet-5, which was up and running in 1998, and was used in ATMs to read real cheques. The main cost was 10 years of engineering stamina by LeCun's research group at Bell Labs. The finished version could be trained "for about 20 epoches over MNIST. It took 2 to 3 days of CPU time on a Silicon Graphics Origin 2000 server, using a single 200 MHz R10000 processor."

(1998 might technically be 40 years out from e.g. the inception of the perceptron in the 1950s, but if that is supposed to be our reference point for neural networks, then Cyc's reference point should be the inception of logical AIs in the same decade. And really, what use was Cyc in industry in 1998?)
by dilawar | 2025-04-09 09:20:45+00:00
> "Don’t go to Stack Overflow, don’t ask the LLM, don’t guess, just go straight to the source. Oftentimes, it’s surprisingly accessible and well-written."

It's a bit like math books. I dreaded reading formal math during my engineering -- always read accessible text. Got a little better in my master's and could read demse chapters which got to the point quickly. At least now I can appreciate why people write terse references, even Tutte books.

Some references are a pleasure to use. For rust crates, I always go to docs.rs and search there. It's just fantastic. i can search for a function that returns a particular type or accept a particular type etc. hoogle from Haskell was lovely too when I took a functional programming course in college. Cpp reference is also pretty good -- thanks for adding examples.

Today I was reading boto3 python library docs, and I immediately missed docs.rs!
by lmeyerov | 2025-04-09 09:20:59+00:00
Enterprise math is interesting --

For a global all-you-can-eat enterprise-wide rollout:

* base: 20K users x $200/yr

* 50% discount: volume + multi-year + ...

=> enterprise: $1M/yr

=> 200 person division in the enterprise: $10K/yr

It's not cheap, but averaging out a global rollout, not terrible afaict

(This is super rough. Ex: Add in BYO hardware, internal staffing, pro serv, and who knows the real discounting!)
by DonHopkins | 2025-04-09 09:21:03+00:00
Now you're making even less sense than before, with incoherent grammar and random buzzwords, which is an impressive leap. I don't think "your thing", whatever that is, has any bearing on this conversation. Are you an LLM?

I played the original Zork on MIT-DM, and read the original source code written in MDL, which is essentially Lisp with angled brackets and data types, and it's neither object nor text oriented, so I have no idea what point you're trying to make about its descendent ZIL, because it makes no sense and has no bearing on this discussion.

https://news.ycombinator.com/item?id=31846457

https://news.ycombinator.com/item?id=42771971

You're arguing with a well vetted factually correct evidence based wikipedia page, so if you disagree, go try to edit it, and see how long your hallucinations and vandalisms last without citations to reality or coherent sentences.

At least my code doesn't shit its pants when you pass it a filename with a space in it.
by rcxdude | 2025-04-09 09:21:07+00:00
Half the issue is companies where you won't even get to an interview without a juiced-up CV, and the rest is a interviewing and hiring decision process that doesn't penalize liars. If people felt your advice was the best way to get ahead, then they'd follow it, but when they see people who are just good bullshitters rocket past them in the system, they're not gonna feel good about it.

(How accurate this perception is is an important point: I'm inclined to believe that this nihilistic "everything is bullshit" philosophy is incorrect and self-defeating, but it's hard to deny many high-profile examples that show that bullshitting can be stunningly successful, while honesty and hard work can fail horribly)
by pjmlp | 2025-04-09 09:21:24+00:00
And me 10 years cloning git repos from scratch instead of bothering to learn a plethora of archaic commands only to fix a broken commit.

https://xkcd.com/1597/

And it isn't as if I haven't used RCS, SCCS, CVS, Clearcase, TFS, Subversion, Mercurial before having to deal with Git.
by rich_sasha | 2025-04-09 09:21:55+00:00
Fed sets up very short term interest rates - specifically, overnight lending.

It certainly affects longer-term rates, but only indirectly. In effect, the lending rate for 10 year bonds, say (a common benchmark duration) is set entirely by the market. These are closely related - they operate in the same space - but are in principle independent decision-makers.

As to bond yields vs bond prices, t is easiest to see for new bonds - sold directly by the US govt. Unlike consumer loans, with bonds you know exactly how much you get repaid - periodic coupon and maturity. The variable is the price today paid for the bond. The government hopes to achieve a high price, raising as much cash as it can today (for the same future repayment cash flow), i.e. a low interest rate.

If the buyers of bonds - lenders - show up in small numbers, there is weak demand to buy, and the bond price is low. This translates to a high rate of interest - for a smaller upfront loan, you get more repayment down the line.

The same mechanism works in secondary markets - bond owners trading with each other.

In terms of how this affects the decision-making by the Fed - in principle, not at all. Fed is free to do whatever the like. But in practice, Fed is bound by the same forces as the bond traders, and bond yields are going up suggests the Fed will likewise have to raise rates. Or bond yields go up in anticipation to the Fed having to raise rates, etc.
by anentropic | 2025-04-09 09:23:05+00:00
I'm using ECharts with HTMX + AlpineJS, with ECharts wrapped in an Alpine component

I had to disable hx-history to get around a problem of the charts getting double instantiated

it feels a bit of a lame workaround but I never managed to get to the bottom of it

apart from that, totally happy
by amiga386 | 2025-04-09 09:23:39+00:00
> something needing jdk15+

Actually, no, that "15" refers to Java 1.5, aka Java 5, released 2004. Bouncy Castle has some funky variants, specially for Java 1.1, 1.2, 1.3, 1.4, 5, 6, 7, 8. All you actually need is the Bouncy Castle for Java 8 onwards, which is pretty much all versions of Java in use today.

The bug is that multiple providers of Bouncy Castle don't cleanly work when in the classpath together. The authors of Bouncy Castle aren't changing that, because they're like "use our software correctly, please". It's not Java's fault, you can only make classes that don't work on old versions of the JDK, you can't make new Java somehow notice you've included a jar written specifically for an old version of the JVM.

Java did introduce the ability to create multi-release jar files, where you can have JDK-version-specific classes/resources in one jar file... but only from Java 9 onwards. All this mixing and matching by filename that Bouncy Castle uses is for Java 1.1 - Java 1.8 only.

You can also mix and match and cause failure by using one of the Bouncy Castle JCE provider variants with the wrong corresponding "pkix", "util", "mail" jars (extra jars for all the things you might want to do with cryptography that _aren't_ part of the standardised Java Cryptography Extensions API that the main "provider" jar implements). And you can also mess up by mixing FIPS-approved BC with FIPS-not-approved BC.

You only need one set of jars:

* If you don't need FIPS approval: bcprov-jdk18on, bcutil-jdk18on, bcpkix-jdk18on, ...

* If you do: bc-fips, bcutil-fils, bcpkix-fips, ...
by kpdoumbia | 2025-04-09 09:24:25+00:00
Canvas (The Spatial Computing Company) | Full-time | Remote

At Canvas, we’re working on spatial computing - using computer vision to 3D reconstruct and understand your surroundings so that software can operate over real-world spaces. We believe it will power the next generation of augmented reality and some of the key parts of virtual reality as well.

Computer Vision Engineer (3D) (Europe Remote) Computer Vision Engineer (Scan-to-CAD) (Europe Remote) Full Stack Engineer (Django/React) (Europe Remote)

For detailed information check out https://canvas.io/jobs.

Keywords: 3D, computer vision, photogrammetry, geomatics, SLAM
by immibis | 2025-04-09 09:25:01+00:00
In the original vision of C, UB was behaviour defined by the platform the code ran on, rather than the language itself. It was done this way so that the C language could be reasonably close to assembly on any platform, even if that platform's assembly was slightly different. A good example is shifts greater than the value's width: some processors give 0 (the mathematically correct result), some ignore the upper bits (the result that requires the fewest transistors) and some trap (the cautious result).

It was only much later that optimizing compilers began using it as an excuse to do things like time travel, and then everyone tried to show off how much of an intellectual they were by saying everyone else was stupid for not knowing this could happen all along.
by cannonpr | 2025-04-09 09:26:58+00:00
I don’t mean to say Islam is perfect, very little is, but it does have a lot of due process and it hardly started as a death cult… I’d spend some time researching due process in shariah and try to remember that in many ways Islam was highly innovative for its era in combining a legal code with its religion in a very integral manner. Now later Islam in particular othoman Islam was indeed somewhat warped and coupled with an expansionist empire, kinda like Christianity, and is another game altogether.
by theshrike79 | 2025-04-09 09:27:45+00:00
Games are suffering with the same issues as movies: the missing middle.

There are indie games with 1-5 devs doing it on a shoestring budget. Sometimes they hit big, sometimes they still need a day job. These can be sold for any price, since any income is still income.

Then there are the AAAAA games with 500 people making it on a $100M+ budget. And these MUST make money or they can bankrupt the whole studio. Some are massive franchises (CoD, GTA) and can ask any price and people will STILL preorder the most expensive set.

But there are very very few if any mid-price games. Some Paradox strategy games perhaps?
by froindt | 2025-04-09 09:27:51+00:00
It's great to see an automated method for this, even if it still needs to be reviewed by an expert. Back on the 2011-2014 era I was on a team which helped make materials available for a chemistry grad student. I wasn't aware of the standards book, but followed more or less the same process outlined in the paper, using GIMP to simplify images, paste into Word, and add textboxes with braille font to the images, and then embossed. It was probably 5-10 minutes of effort for a basic graph, and we were doing the work for entire math and chemistry books. This would have saved so much time for us!

We also had to figure out how to represent electron clouds. Some could be done as 2-D representations, but eventually 3-D was required. We created a plugin for Blender which would import a MacMolPlt save file, generate the structure for the molecule (coordinates for each atom, bond types connecting the atoms), and a point cloud for the electron cloud. Each column of the periodic table was a different shape, each row was a different scale. It worked pretty well, and generating STL files was automated.

The program is somewhere on my hard drive not available publicly and probably technically owned by Iowa State or the federal government, whether they know it or not. I'm curious how much it'd take to get out running on a current version of Blender.
by ZeroGravitas | 2025-04-09 09:30:00+00:00
It may be insane but it's actually a small step up from the previous Trump admin position.

Before they were saying "stop giving us free stuff/money you guys", now they are saying "stop giving us free stuff/money but also keep giving us free stuff/money".

Is the latter insane? yes. Is the former more insane? Also yes.
by dathinab | 2025-04-09 09:31:31+00:00
One thing I often see pop up in larger projects, which in the article is likely the fault of way to large symbols, is overuse of generics/type state/etc.

Or you could formulate this as needless obsession with not using `dyn`.

And sure generics are more powerful, dyn has limitations, etc. etc.

It's one of this "Misconceptions Programmers believe about Monomorphisation vs. Virtual Calls" things as in:

TL;DR: dyn isn't as bad as some people make it out to be; Weather perf. or convenience it can be the better choice. Any absolute recommendation of always use this or that is wrong.

- wrong: monomorphisation is always faster; reason: monomorphisation pollutes the instruction cache way worse, as such in some situations switching some parts (not all parts) to virtual calls and similar approaches can lead to major performance improvements. Good example here are various experiments about how to implement something like serde but faster and with less binary size.

- wrong: monomorphisation was picked in rust because it's better for rust; right: it was picked because it is reasonable good and was viable to implement with available resources. (for low level languages it's still better then only using vtables, but technically transparent hybrid solutions are even more desirable)

- wrong: virtual calls are always slow in microbenchmarks; right: while they are more work to do modern cpus have gotten very very good at optimizing them, under the right conditions the might be literally as fast as normal function calls (but most times they are slightly slower until mono. trashes icache too much)

- wrong: monomorphisation is always better for the optimizer; right: monomorphisation gives the optimizer more choices, but always relevant or useful choices but they always add more work it has to do, so slower compiler times and if you are unlucky it will miss more useful optimizations due to noise

- wrong: in rust generics are always more convenient to use; right: Adding a generic (e.g. to accomodate a return position impl trait) in the wrong place can lead you to having to write generic parameters all through the code base. But `dyn` has much more limitations/constraints, so for both convenience and performance it's a trade of which more often favors monomorphisation, but not as much as many seem to believe.

- wrong: always using dyn works; right: dyn doesn't work for all code and even if it would using it everywhere can put too much burden on the branch predictor and co. making vcalls potentially as slow as some people thing they are (it's kinda similar to how to much monomorphisation is bad for the icache and it's predictors, if we gloss over a ton of technical details)

So all in all understand what your tools entail, instead of just blindly using them.

And yes that's not easy.

It's on of the main differences between a junior and a senior skill level.

As a junior you follow rules, guidelines (or imitate other) when to use which tool. As a senior you deeply understand why the rules, guidelines, actions of other people are the way they are and in turn know when to diverge from it.
by pjmlp | 2025-04-09 09:31:33+00:00
Regardless of the programming language it is a security hazard, that is why we have now SBOM in the industry, and many corporations have procedures in place before adding that cool dependency into the project.

Regardless it is cargo, vcpkg/conan, nuget, maven, npm,....

It isn't validated by legal and IT for upload into internal repos, doesn't get used.
by ptx | 2025-04-09 09:31:49+00:00
> leaving the bewildered humans behind to... sit around and do human things

This sounds inefficient and untidy when the only human things left to do are to take up space and consume resources.

Removing the humans enables removing other legacy parts of the system, such as food production, which will free up resources for other uses. It also allows certain constraints to be relaxed, such as keeping the air breathable and the water drinkable.
Show HN: MathGuessr – GeoGuessr but for Math Functions
by luisb | 2025-04-09 09:31:56+00:00
Hi all! A few months ago I discovered GeoGuessr — the game where you guess locations based on Google Street View. I loved the concept and thought it would be fun to apply a similar idea to math.

So I built MathGuessr: a game where you're shown a graph and have to guess the function that generated it. It’s meant to be fast, visual, and a bit challenging (in a good way!).

This is still an early version, let me know what you think!
by nullbio | 2025-04-09 09:33:48+00:00
Only a matter of time before OpenAI starts selling advertising services and weighting specific websites and services higher than others in their response generation for money. We should really outlaw this before it becomes a problem, and before it becomes a thing, because once it happens there is no turning back. Unlikely that anyone with the power to do this will actually have the foresight to do it though.
by trhway | 2025-04-09 09:34:32+00:00
>The slight difference is the difference between throwing gays off of tall buildings and complaining about them getting married.

no necessarily gays. Different societies may treat as non-humans different groups of people. US has just threw several hundreds of people into a black hole of prison in El Salvador. Considering the prison conditions even in US and how even US was openly waterboarding people multiple times (180 times for one guy), one can imagine what may be happening to the people in that prison in El Salvador (read on the El Salvador death squads, and the current regime there basically continues the same behavior). A fall from a tall building may be a mercy in that context. And i guess we'd never know how many of those guys will come out, if ever, of there alive.
by amiga386 | 2025-04-09 09:34:58+00:00
The production fix is don't include 3 versions of the same dependency in the image build (use "bcprov-jdk18on" and don't use any other "bcprov")

Another fix can be to use a fat jar (containing your software and all its dependencies), but this doesn't work for Bouncy Castle, because Cryptography Is Special(TM), and Java won't load cryptography providers unless their jars are signed, and including the cryptography provider jar in the far jar means it loses its signature.
by sshine | 2025-04-09 09:35:10+00:00
I've found Kagi's Universal Summarizer useful for:

- Long reads when I just want to know the conclusion - Reading terms of services that I would otherwise have blindly accepted - Summarizing key requirements in large tender documents prior to bidding on work

As for summaries in general, FastGPT is so useful I apply it to most of my searches.

Especially if I'm looking for a small fact buried in the first results.