MurphyA/hacker-news huggingface dataset:
by dspillett | 2025-05-18 09:46:13+00:00
VB6 (and IIRC 5 too) could compile to native, as seen in the compile options: https://imgur.com/a/v0QcbBU

P-code was still offered as an option because some wanted the smaller output binary sizes, and the build process was faster⁰.

Some incorrectly assume that the native option wasn't really fully compiled because the main supporting library (msvbvm60.dll) was still used¹, but this was for common library functions³ and the interpreter portion was not touched.

There were unofficial tools that would statically link your exe with the relevant VB runtime (and certain other libraries) but the use of those was rare.

----

[0] Though I don't think the build speed matter was actually significant for many, if any, workflows, even on really slow kit.

[1] Some didn't distribute it after a time, to reduce download sizes, as they were included with Windows so users already had them. Windows 7 (and maybe Vista?) included msvbvm60.dll and friends by default, and most XP and 98 installs² had it too as it came with Internet Explorer updates.

[2] though there was a compatibility break at one point that meant you needed to recompile with VB6sp6 if you hadn't included a local copy in your apps directory

[3] Much like many C programs don't have glibc statically linked into them, but work because it is practically ubiquitous on the systems they target.
by atombender | 2025-05-18 09:46:43+00:00
The creator looks like a developer and teacher, not a Postgres core team member. So I assume this is for documentation purposes.

I actually like this a lot, as there isn't a single place in the Postgres documentation that lists all the possible locks; it's spread out all over. Having a quick reference for what kinds of commands you'd be blocking with your transaction is valuable.

It's pretty evident that the pages have been programmatically generated, but I'd love know what it's generated from. I think you can derive this information from the documentation, but not sure if you can do it in an automated way without an LLM.
by braiamp | 2025-05-18 09:46:55+00:00
These are database locks, which means that depending which arrives first, the later transaction has to wait till the first one finishes to complete. These locks are about SQL commands and which commands can run concurrently with the others. There's a graph here of how that looks like https://pankrat.github.io/2015/django-migrations-without-dow...

Usually for maximum performance (minimum latency, maximum throughput) you want to have operations not lock each other, unless absolutely necessary, in which case you want them to be short.
by discreteevent | 2025-05-18 09:46:57+00:00
>Enumerative combinatorics is a branch of mathematics focused on counting the elements of a set.

These people are experts on sets but then they use the word "every" instead of "some" or "a subset of".

They just assume that everybody must be doing what they do. This is why Alan Kay said: “Point of View is worth 80 IQ points"
by the_third_wave | 2025-05-18 09:47:44+00:00
Hm, odd, maybe turning something practical - a tool, a utensil, a beverage - into an obsession bordering on religiosity does not a happy camper make? A saw is meant for sawing, not meant to be idolised or localised or deified. Coffee is meant for drinking, not meant as an alternative for the Japanese tea ceremony. The thing you use to make it is just that, a thing used to make coffee, not some shrine to the gods of Java. In the same vein that program you use to switch on and off the boiler depending on the price of electricity and the output of your solar panels is just that, a thing meant to save money and make life easier.

Yes, I have some 'home automation' around the farm, in my case based on OpenHAB. I use it for the aforementioned purpose as well as for making it possible to remote control electric fence chargers and lights. No silly sensors for air quality or CO2 because I don't see the use. It is a bit like the early Linux desktop installations with an overabundance of monitors for everything going on in and around the machine, maybe fun to configure and run for a week or so but after that you'd just get rid of 95% of the xperf, xosview, conky, gkrellm, ... guff and settle on a few simple and unobtrusive cpu/memory/storage/network monitors and be done with it. 10 years later you'll still be running the same configuration, now as natural as the dials on a dashboard.
by protocolture | 2025-05-18 09:48:03+00:00
My memory is:

1. Haruhi is based on light novels, so has to actually perform to get a release. Japanese market is upside down, the anime often goes to free to air to support a manga release where the real money is made (I have no idea how this works economically this is just how its explained to me) as there isn't any more manga or light novels to release, the likelihood of another season is low. It was sort of always a passion project.

2. The studio was firebombed. https://en.wikipedia.org/wiki/Kyoto_Animation_arson_attack

3. Season 2 was critically panned, but I dunno I thought it was pretty genius.

My suggestion, watch both series, then read the english translation of the novels.
Building UI's that behave like video games
by Charz1 | 2025-05-18 09:49:00+00:00
was watching an InfoQ video (2017) from an architecture engineer at Slack and he said Slack doesn't have loaders between screens because Slack was built with the same logic as a video game. Video games don't have loaders between scenes. I think in the age of AI this is a good thing to do
by Gualdrapo | 2025-05-18 09:53:08+00:00
Yet they decide to spend nothing on moderation. Orphaned groups still have everything from drug selling, sexual services, counterfeiting money and even CP - yet I can't change the location of my local group because someone someday told their "moderation" service the neighborhood group allegedly is not related to the neighborhood.

Telegram as a messaging service is cool, and the bots thing is great - but otherwise they seem to be really focused on money grabbing.
by adrian_b | 2025-05-18 09:56:05+00:00
M4 has ">2x better performance per watt" than either Intel or AMD only in single-threaded applications or applications with only a small number of active threads, where the advantage of M4 is that it can reach the same or a higher speed at a lower clock frequency (i.e. the Apple cores have a higher IPC).

For multithreaded applications, where all available threads are active, the advantage in performance per watt of Apple becomes much lower than "2x" and actually much lower than 1.5x, because it is determined mostly by the superior CMOS manufacturing process used by Apple and the influence of the CPU microarchitecture is small.

While the big Apple cores have a much better IPC than the competition, i.e. they do more work per clock cycle so they can use lower clock frequencies, therefore lower supply voltages, when at most a few cores are active, the performance per die area of such big cores is modest. For a complete chip, the die area is limited, so the best multithreaded performance is obtained with cores that have maximum performance per area, so that more cores can be crammed in a given die area. The cores with maximum performance per area are cores with intermediate IPC, neither too low, nor too high, like ARM Cortex-X4, Intel Skymont or AMD Zen 5 compact. The latter core from AMD has a higher IPC, which would have led to a lower performance per area, but that is compensated by its wider vector execution units. Bigger cores like ARM Cortex-X925 and Intel Lion Cove have very poor performance per area.
by int_19h | 2025-05-18 09:56:54+00:00
Funny you should mention open source and VSCode.

VSCode itself, for all the promotional materials about how it's open source, is officially "a distribution of the Code - OSS repository with Microsoft-specific customizations released under a traditional Microsoft product license".

But wait, you might say, it's just like Chrome vs Chromium - so long as we have the OSS edition, it's all good! But, unless you're writing JS or TS, you need extensions to do anything useful. Python is an extension. So is C#, and C++. And all of these are partially closed source - e.g. code completion for all three, or debugging for both C# and C++.

Worse yet, the licenses for those closed source parts specifically prohibit their installation and use in anything other than the official closed source VSCode distro. And this isn't just verbiage - there are actual runtime checks in all these products that block attempts to use them in VSCodium, Cursor etc.

The same goes for the official VSCode extension gallery / marketplace - you can't legally use it from anything other than the official VSCode. Enforcing that is trickier, but even here Microsoft managed to find a way to frustrate its users: it used to be possible to download a .vsix from the Marketplace, but that feature has been removed recently, precisely because people were using that in conjunction with Cursor etc.

Much open source, indeed.
by Aeyxen | 2025-05-18 09:59:09+00:00
Proton didn't just market 'Swiss privacy,' they built real engineering around non-retention—no logs, no trackers, nothing to subpoena. If Switzerland erodes that, the only defensible move for actual privacy builders is to exit and redeploy somewhere the law aligns with technical reality. Anything else is security theater.

If law passes, if Proton leaves, what matters most isn't their press release—it's the engineers voting with their code and hardware locales.
by AStonesThrow | 2025-05-18 09:59:15+00:00
Many years ago, I wrote a little script for scraping someone's weather site and returning the bare essentials for current conditions. The script began breaking down as they didn't support that raw HTML interface very well. Then at some point, I acquired a feature phone and I was interested in figuring out the currents/forecast as I was out and about. The KaiOS built-in web browser was functional but crippled, so again I had major issues accessing weather sites to find out what I needed.

I knew a colleague who is on a sailing team and I knew she would know weather, so I asked her, what is a good weather site without much ads and with a simple interface? And she replied immediately, weather.gov. I could have kissed her, because this was such an amazing and pragmatic idea I wouldn't have come up with on my own. And weather.gov has been my go-to weather site for probably 15 years.

It will suck if weather.gov's service is degraded in some way. No matter how many people hate it for existing, the USGov truly puts out excellent science and fantastic content. So much of it is publicly exposed, public domain, and in the service of the American people. It will be sad to watch this valuable infrastructure decay or be abandoned.
by metalman | 2025-05-18 10:00:21+00:00
comment on the comments geneticly spliced animals and humand are now real, but for many years have occupied a specific place in sci fi, where there are enhanced animals and humans, hybrids, and we have a huge subculture of "furryies" so the headline is pushing lots of buttons. The thing is that it's going to happen, and the pieces are here right now to make hybrids, and even alter a life forms DNA after birth. The point bieng if anybody is getting triggered by the whole kids and smart phones thing, best just think of that as quaint , as there is a massive market for some little adorable critter that can talk.....brace yourselves and nothing can make that possibility go away now
by int_19h | 2025-05-18 10:00:51+00:00
In fact, Java 1.5 got generics in 2004, one year before C# 2.0 added them in 2005. OTOH C# 2.0 had anonymous delegates, although syntactically they were still very verbose (no type inference for arguments) and thus only marginally better than Java's anonymous classes.

It was really from 2007 on (.NET 3.5 / C# 3.0) that C# started to get major features at an ever increasing pace while Java significantly stagnated for quite a long time.
by PicassoCTs | 2025-05-18 10:02:01+00:00
Word of mouth annotated by chains of trust. If somebody is unknown, unless somebody else vouches for him - he is silenced, his links invisible. Vouching is somebody else giving him trust- and disappearing, if that was unearned. Your grandpa forwarding fb-pigfeed - his links invisible, except to his conspiracy cloud, that wants all and sees all. If you want new things, you temporary lift bans on curators- people who venture and search for new things. This is all that remains of the feed, the algos die. The social media parasites are purged and will become a warning footnote in history books.
by int_19h | 2025-05-18 10:03:21+00:00
One of the original lambda proposals for Java - the one from Neal Gafter - also had checked exceptions.

The problem is that you then need a way to capture exception specifications as generic type parameters to properly propagate contracts, which complicates the type system quite a bit. Which is why Java ultimately went with the much simpler proposal that didn't even try to tackle this.
by atombender | 2025-05-18 10:03:36+00:00
That's a great page, but it has several issues.

First, it isn't complete; as I said, the locking behaviour is spread out all over the Postgres documentation. For example, that page doesn't list what locks DROP INDEX takes. To find that out, you have to go to the documentation page for that command and read it carefully. In fact, really carefully — the locking behaviour is only documented under the section about CONCURRENTLY.

The page also doesn't list what possible commands are then blocked. Locks interact in subtle (and incorrectly named!) ways that are explained in the tables on that page ("Conflicting lock modes"), so to understand if something will block something else you have to look at the two commands you are curious about and then look at how their locks interact.
by andyjohnson0 | 2025-05-18 10:04:05+00:00
I get the rationale, but I feel that this is bad advice.

A well-run, reputable domain registrar will give you plenty of warnings when a domain is coming up for renewal. And when the domain expires there is usually [1] a period afterwards when it can be retrieved before anyone else can buy it.

Set the domain to auto-renew, make sure the registrar has your payment details, set calendar reminders. Its not difficult.

The alternative is gmail or similar, where you can lose access to your email, and perhaps the root of your digital "identity", at the whim of some hair-trigger algorithm [2] and be left unable to even communicate with the provider to get it fixed.

So get a domain from a decent registrar. Pay several years in advance. Keep your payment and contact details up to date.

[1] based on my experience of Cloudflare and other registrars

[2] plenty of examples of this on HN and elsewhere
by tux3 | 2025-05-18 10:05:57+00:00
1 + 3 and 3 + 1 are the same partition of 4, because it's a sum with the same two numbers. The order of the 1 and the 3 doesn't matter for partitions.

But that's two compositions.

I think this article could really use more applied, concrete examples if it's intended for programmers.

It seems their idea for connecting math and programming was printing out a bunch of C code, without further motivation. But coding is an applied field, developpers will want a concrete idea of what they can do with it.

This is still too abstract.
by horhay | 2025-05-18 10:07:00+00:00
We're discussing the implications of this here when this has presented nothing novel in this medium/genre? I gave it a shot and it still has the same pitfalls for video genAI. Dealing with chains of dynamic actions is the biggest challenge, moreso with anime with its several fight scenes. No, it did not do good, and none of the non open-source models can do a good job of it for the most part either
by aprilnya | 2025-05-18 10:07:52+00:00
I completely disagree… the upsides of having a domain completely outweigh the downsides for me

Domains are cheap, $10 a year, and you can set up auto renew, or renew them for years in advance.

Most registrars also send you alerts (e.g. the registrar I use, Porkbun, sends alerts at 60, 30, 5 days before expiry)

Migrating to a new email service is a colossal task if you don’t use your own domain which you can just point at the new one, and if your email service decides to kick you out, you lose access to all the same accounts as if your domain expired.

My domain expiring is totally within my control. My email provider kicking me out is not.
by pjmlp | 2025-05-18 10:09:27+00:00
Fair enough, should have taken a look, I stopped counting when computer magazines buzz about 4GLs faded away.

Probably some kind of formal methods inspired approach, declarative maybe, and less imperative coding.

We should take an Alan Kay and Bret Victor like point of view where AI based programming is going to be in a decade from now, not where it is today.
by qsort | 2025-05-18 10:09:54+00:00
I find the presentation a bit confusing and I'm already very familiar with this material.

From a purely mathematical point of view, why this choice of topics? You correctly point out that counting partitions has no closed formula, but there are a lot of related problems (Sitrling numbers of the two kinds for example) which are of more practical utility (e.g. they are related to sums of powers formulas). If that's too advanced for your audience then why not present more standard tricks like combinations with replacement aka stars and bars?

From a programmer's point of view, you could have focused more on how to generate subsets, permutations, partitions etc. in a memory-efficient way, for example how the Python stdlib does it.

Also, the factorial number system and the binomial base of univariate polynomials are definitely not "alternatives to base 2 in computer architectures".

Don't take this the wrong way but I struggle to see who you are writing for.
by _Algernon_ | 2025-05-18 10:10:00+00:00
Comparing the best of the best of Reddit against "most HN threads" isn't a good argument. Either compare the best of the best of both (I'd argue that HN comes out on top on most tech / programming related issues, and Reddit comes out on top more on more general topics), or compare averages to averages (Here HN comes out on top in my view).

The comparison of best-of-the best is not that useful in practice because you have to filter through so much noise to find it, so the average case is more useful in practice.
by b112 | 2025-05-18 10:11:57+00:00
One thing I've noticed is that some stores are, as you ponder, indeed franchises.

In some franchises, store owners get a vote on change. They also have no inventive or desire to be a mere showcase for purchases happening elsewhere, such as online.

Combine this with a sometimes contracted inability for the company to "compete" with franchises, and you get some very weird behaviour.

And the of course, as people and politics are involved, you may see non-optimal, status quo results from votes.

It's only really been 15 years, since retailers have really seen a notable dive in store sales, and the last 5 years being the most harsh.

Meatspace speed is slow. Most of the world's behaviour is ossified compared to people on HN.

In other words, the Internet is fairly new. I think eventuality we'll see some stabilization here, over the next 10 years.

An example...

Used to be, before opening trade with China, that most cultery was made in the US. There were in fact 4 or 5 main manufacturers of cutlery.

Once the cheap stuff came in, this all collapsed. All of them shut or went bankrupt.

Yet out of the ashes one emerged, and I think a second now. The market was in such turmoil, sales collapsed so fast, that they all weakened at once.

But at least one can exist.

My point is, we're in this period of chaos now. It'll sort out I think.
by int_19h | 2025-05-18 10:12:05+00:00
> dynamic breakpoints, conditional breakpoints, hell you can ever restart a stack frame after hot deploying code without a restart. You can overwrite any variable in memory, set uncaught exception breakpoints, and even have the JVM wait for a debugger to connect before starting. There is no equivalent in any other language that does _all_ of these things

.NET + C# can do all of these things.
by aprilnya | 2025-05-18 10:13:08+00:00
I was using Proton Mail for a while with a custom domain, which was great as a single user with a single domain. Phenomenal email service and the other apps they offer are cool too.

I ended up switching to Migadu however, as nowadays I need to have multiple domains, and multiple people might need to have accounts on some of them.

- Pros of your own domain: migrating to a new provider is really easy (don’t need to change your email address everywhere), your email provider can’t kick you out and make you lose everything

- Cons of your own domain: if you forget to renew it, you lose your email, but it’s pretty hard to forget to renew it IMO
by materielle | 2025-05-18 10:15:12+00:00
Python is about 35 years old at this point. It was the better language that had the better design and the fixed problems at some point in time.

Sure, maybe a committee way back in 1990 could have shaved off of some the warts and oopsies that Guido committed.

I’d imagine that said committee would have also shaved off some of the personality that made Python an enjoyable language to use in the first place.

People adopted Python because it was way nicer to use compared to the alternatives in say, 2000
by rho4 | 2025-05-18 10:15:37+00:00
I have a colleague at work who also has to get within 6" of the screen.

2 years ago I switched to a 55" 8k TV as my primary monitor.

While everyone was giving me the usual crap about it, this guy, when I showed him what it would look like with 400% Zoom, he went and bought one for himself at home.

He thanks me every few weeks, but still didn't dare to set one up in the office.

(ps I have mine standing on a normal height-adjustable table, so you wouldn't have to hunch at all)
by wrasee | 2025-05-18 10:15:55+00:00
No, just basic judgement and prioritisation, which are valuable skills for an employee to have. The OP was effective at finding the right information they needed to solve the problem at hand: In about an hour, the OP knew enough about PPP to fix the bug and submit a patch.

Whereas it's been all morning and you're still reading the RFC, and it's the wrong RFC anway.

I know who i'd hire.
by perlgeek | 2025-05-18 10:16:36+00:00
You can see both from the videos and the photos that the sails weren't set, so I can't have been wind-powered at the time of the accident.

Operating a large, wind-powered vessel in a harbor or near shore is very tricky and dangerous (what if the wind suddenly doesn't provide enough propulsion to counteract some water current? what if it suddenly changes direction? breaking is also very tricky) which is why it's not done, and some auxiliary engine provides propulsion.
by bosky101 | 2025-05-18 10:19:52+00:00
Your readme doesn't mention any example of multiple agents. We don't need another wrapper to anthropic/openai/*. Without being able to select between multiple tools/agents - you only need 2 lines of code to achieve llm calls, and another 2 lines for state management.

That said the interface is more idiomatic that others agent frameworks that show up here.

It also wasn't clear where the last N messages is being persisted. Db/file/adapters/?

Good luck!
by Aeyxen | 2025-05-18 10:20:59+00:00
Politics aside, it’s odd how often the entire debate misses the real bottleneck: assigning blame doesn’t restore operational capacity or re-architect the warning pipeline. If the system depends on 24/7, highly skilled human decision-makers, and you cut those positions, the outcome is predictable—slow, brittle responses.

ANY critical pipeline that can be broken by one missing seat is overdue for technical reinforcement