MurphyA/hacker-news huggingface dataset:
by akst | 2025-11-03 03:59:24+00:00
As others have said, this isn't a unique value proposition of dependent types, by all means dependent types provide a solution to this, but so do many other approaches.

You can do this in C++ & Rust, and I've done something similar in Typescript. The point of the comment you're replying to is kind of making the point that pitches for dependent types probably should give examples of something not already solved by other systems (not that you can't do this in DT). See:

> Yeah, this seems like matrixes might not be a great first example for explaining the value of dependent types.

In order to adopt DT, you need to pay a combined cost of productivity loss in terms of established tooling and choose to forgo any human capital which is no longer applicable once you start using a language with Dependent types, and a loss of time spent learning to use a language that has dependent types, which almost certainly has a smaller library ecosystem than most mainstream languages without DT.

For that reason it's worth considering what examples illustrate a benefit that outweighs all the above costs. I don't think it's enough to simply assert some moral basis on safety when clearly salaries for work done in unsafe languages are already considerably high.
by eru | 2025-11-03 03:59:49+00:00
Agreed.

> Using `mid = (low + high) / 2` has an overflow bug if you're not using infinite precision, but there are several other potential problems even in the simplest algorithm.

Well, if you are doing binary search on eg items you actually hold in memory (or even disk) storage somewhere, like items in a sorted array (or git commits), then these days with 64 bit integers the overflow isn't a problem: there's just not enough storage to get anywhere close to overflow territory.

A back of the envelope calculation estimates that we as humanity have produced enough memory and disk storage in total that we'd need around 75 bits to address each byte independently. But for a single calculation on a single computer 63 bits are probably enough for the foreseeable future. (I didn't go all the way to 64 bits, because you need a bit of headroom, so you don't run into the overflow issues.)
by franciscop | 2025-11-03 04:00:36+00:00
Excellent tips, I've naturally followed most of these, it's crazy to see them reflected here explicitly, they felt "such a natural thing" to do. Given the quality of most of them, I'll try to follow better the couple I don't yet.

> 2) Advertise your start time as a quarter-to the hour. If you start an event at 2:00, people won't arrive till 2:30; if you make it 1:45, people will arrive at 2:00.

Needless to say this is highly culture-dependent. I recently threw a dinner at my place in Tokyo, and I had to add the warning:

- Official dinner time was 7pm.

- Told my Southern European friends at 7pm, expecting them to arrive at 8pm.

- Told my Japanese and American friends at 7:30-8, expecting them to arrive at 8pm.

It went much better than expected, everyone arrived within 8pm~8:10pm (okay, except that one friend who is chronically late, but that's a lost cause).
by eqvinox | 2025-11-03 04:02:24+00:00
> You know, I don't recall ever seeing 1 bar of signal strength on a smartphone.

I do.

I'm from Germany, land of perpetual EDGEing. Highest total GDP in the EU but can't build a mobile network for the life of it.

Then again we somehow forgot how to run trains and build cars without cheating, so I guess it fits.

Want to see a single bar? Come visit, our carriers aren't on the list with that inflate flag enabled. I guess they didn't get the same memo as the car manufacturers ;D
by IGHOR | 2025-11-03 04:04:07+00:00
I shipped v1.0.5 of Parall, a macOS utility I built that creates isolated shortcut bundles which launch apps as independent instances. This release adds a single technical change that materially expands what the app can do. A far more capable HOME directory override. It now works with the majority of macOS apps.

With the app you get - True, per-instance data separation for many apps that previously shared profiles. - Unlimited simultaneous instances that behave like separate installations. - Ability to set env vars and command-line args per shortcut and pin multiple custom Dock icons that each run the same app with different data.

Tested apps in this build (full support verified): FreeCAD, Blender, Opera, Tor Browser, Qt Creator, FileMaker Pro, Git Tower, Telegram Desktop, Viber, Discord, Dropbox, OBS, KiCad, Plex, Spotify, Sublime Text, Sublime Merge, LightBurn.

Concrete examples - Run multiple Dropbox clients with different accounts and sync different folders simultaneously. - Run multiple Discord/Viber/Telegram Desktop instances, each logged into a different account. - Pin multiple Dock icons for the same app. Each icon launches an isolated instance with its own profile and icon.
by zzo38computer | 2025-11-03 04:04:27+00:00
I think that a separate program might be better, which could be used with any video source in any program, including a QR code made up from multiple pictures or from CSS, or a video, etc. Furthermore, it is not necessarily a URL.

However, it might also be made as a browser extension in case you do not want to use a separate program, or if you want to be able to follow such links directly without going through another program.
by jcranmer | 2025-11-03 04:05:05+00:00
Even in the US, the Indian Wars weren't finished until the 1890s. In fact, most of the big wars against the Native Americans took place after the American Civil War. One of the big faults I have with US history in the education system is that it tends to front-load the depiction of Native Americans in the Precolonial portion of history, with an echo in the Trail of Tears and forced migration in the 1830s, and largely edits them out of the history of the settling of the west, despite this process requiring a very violent dispossession of the existing inhabitants.
by rramadass | 2025-11-03 04:05:12+00:00
The article is somewhat confused. The Scientific Method (https://en.wikipedia.org/wiki/Scientific_method) itself is an empirical process with caveats. We need to use our own intelligence in judging and deciding what and how to interpret some data/hypothesis. It is "trial-and-error" but with established principles/laws/heuristics added in to guide our "trials".

Thus for example; the answer to the question "Are Late-Stage Bugs More Expensive?" is a "Yes generally" since at later stage in development we have more of design/implementation done where we now have a larger number of interacting components and thus increased Complexity. So the probability that the bug lies in the interaction/intersection of various components is higher which may require us to rework (both design and implementation) a large part of the system. This is the reason we accept separation-of-concerns, modularization and frequent feedback loops between design/implementation/testing as "standard" Software Engineering Practices.

Lee Smolin in his essay There is No Scientific Method (https://bigthink.com/articles/there-is-no-scientific-method/) states the following which i think is very applicable to "Software Engineering" since it is more of a Human Process than Hard Science;

Science works because Scientists form communities and traditions based not on a common set of methods, but a common set of ethical principles. And there are two ethical principles that I think underlie the success of science...

The first one is that we agree to tell the truth and we agree to be governed by rational argument from public evidence. So when there is a disagreement it can be resolved by referring to a rational deduction from public evidence. We agree to be so swayed.

Whether we originally came to that point of view or not to that point of view, whether that was our idea or somebody else’s idea, whether it’s our research program or a rival research program, we agree to let evidence decide. Now one sees this happening all the time in science. This is the strength of science.

The second principle is that when the evidence does not decide, when the evidence is not sufficient to decide from rational argument, whether one point of view is right or another point of view is right, we agree to encourage competition and diversification amongst the professionals in the community.

Here I have to emphasize I’m not saying that anything goes. I’m not saying that any quack, anybody without an education is equal in interest or is equal in importance to somebody with his Ph.D. and his scientific training at a university...

I’m talking about the ethics within a community of people who have accreditation and are working within the community. Within the community it’s necessary for science to progress as fast as possible, not to prematurely form paradigms, not to prematurely make up our mind that one research program is right to the exclusion of others. It’s important to encourage competition, to encourage diversification, to encourage disagreement in the effort to get us to that consensus which is governed by the first principle.
by abnercoimbre | 2025-11-03 04:05:20+00:00
Well I am betting on Terminal Click [0] which is my own experiment. I need to do a better job with the landing page, but if you invest three minutes watching the trailer you can let me know your honest reaction.

You’re right for now… what I currently have won’t magically put noobs at ease. This is a really tough nut to crack.

[0] https://terminal.click
by wyldfire | 2025-11-03 04:07:36+00:00
> By far the normal case is that I can isolate it to a function or a query or a class pretty quickly

In general, this takes human-interactive time. Maybe not much, but generally more interactive time than is required to write the bisect test script and invoke `git bisect run ...`

The fact that it's noninteractive means that you can do other work in the meantime. Once it's done you might well have more information than you'd have if you had used the same time manually reducing it interactively by trying to reduce the scope of the bug.
by geraneum | 2025-11-03 04:08:46+00:00
The capital [in these companies] might not be as decoupled as portrayed but rather funneled from the labor which is not in their employment. This is more glaring in ad tech. For the manufacturers in the list, you have to consider the cheap labor they outsource too, among many other factors. You have to look at global/overall labor statistics vs capital. There might be a trend there but the article doesn’t expand or do any investigation.

It is surreal. It goes like: revenue growth > headcount growth in select companies, therefore capital alchemy on global scale + something something AGI.
by eru | 2025-11-03 04:09:27+00:00
What do you mean by 'overhang of debt'?

Debt and equity are equally valid ways to finance projects. See https://en.wikipedia.org/wiki/Modigliani%E2%80%93Miller_theo... for the spherical cow version, but this holds approximately under real world conditions, too.

In general, I share you skepticism and agree that exponential extrapolation should be done only very carefully at best.
by antod | 2025-11-03 04:09:33+00:00
As someone who had a 20yr break from MS software until a recent new job, I'm not sure it was Google who demolished Office.

I reckon it was MS. I can't believe how confusing/confounding/frustrating the modern MS Office and it's cloud integration is. I swear Office 2003 was miles better. And it seems that way with the UX of just about all their stuff now.

I would run into little functionality limitations/frustrations with the Google suite, but I wasn't prepared for how far ahead the UX is compared to MS tools.
by jltsiren | 2025-11-03 04:10:27+00:00
Some European languages have a word for "science". Some have a word for "Wissenschaft". I'm not aware of any language that has separate words for both concepts. Confusion ensues when "science" inevitably gets translated to "Wissenschaft", or the other way around.

Science is centered around the scientific method. A naive understanding of it can lead to an excessive focus on producing disconnected factoids called results. Wissenschaft has different failure modes, but because you are supposed to study your chosen topic systematically by any means necessary, you have to think more about what you are trying to achieve and how. For example, whether you want to produce results, explanations, case studies, models, predictions, or systems.

The literature tends to be better when people see results as intermediate steps they can build on, rather than as primary goals.
by ninjin | 2025-11-03 04:11:31+00:00
Thank you for sharing the write up!

Not an OpenBSD expert by any means, but two small pieces of minor feedback as everything else you wrote mirrors my own setup and experience. Firstly, unless you are really strapped for space on say a 90s machine, it is generally recommended to install all the file sets as there can be interactions with ports even if one does not expect it (say ffmpeg needing X11 libraries). The general OpenBSD mindset is after all "Use the defaults" and the default is to install all the file sets. Secondly, the OpenBSD Handbook has a bit of a mixed reputation in the community from what I can tell. Unlike the FreeBSD Handbook, it is not an official document and I tend to rely on man pages, openbsd.org, misc@, and a few blogs I consider to be trustworthy instead.

As a final note, glad to see you have IPv6 up and running. I really should get around to it now that dhcp6leased has been in base for more than two releases.
by jitl | 2025-11-03 04:12:00+00:00
at the bottom of the turtle stack, there's a yolo-c libc that does some syscall stuff:

> libyoloc.so. This is a mostly unmodified [musl/glibc] libc, compiled with Yolo-C. The only changes are to expose some libc internal functionality that is useful for implementing libpizlo.so. Note that libpizlo.so only relies on this library for system calls and a few low level functions. In the future, it's possible that the Fil-C runtime would not have a libc in Yolo Land, but instead libpizlo.so would make syscalls directly.

but mostly you are using a fil-c compiled libc:

> libc.so. This is a modified musl libc compiled with Fil-C. Most of the modifications are about replacing inline assembly for system calls with calls to libpizlo.so's syscall API.

That links here: https://github.com/pizlonator/fil-c/blob/deluge/filc/include...

Quotes from: https://fil-c.org/runtime
by mrshadowgoose | 2025-11-03 04:13:11+00:00
Unfun thought experiment: In an AGI scenario, what lever of power do the UBI recipients have to force what you've described?

Historically, humanity's biological monopoly on the fundamental resource of "general intelligence" has always been that lever. Looking at the world today, it's pretty clear that democracies are just a temporary balance between the general contempt of the powerful towards commoners, and the fact that the powerful begrudgingly need our economic utility, which is ultimately based on our general intellect. Even callous dictatorships had to exercise partial restraint on violence and murder, to retain a pool of general intellect.

AGI will be a multiple-whammy here:

- most people will become economically worse-than-useless, they will be a total liability on the rich and powerful

- those same people are unlikely to be given access to any levers of power or influence, because they no longer have anything of value to provide to the rich and powerful

- AGI in combination with robotic platforms, after a certain threshold, will permit for insurmountable policing. The "rise up against the robots" cliches we see in film simply become impossible after a certain point.

I desperately hope we end up wielding AI to usher in a post-scarcity utopia, but looking at the types of people who own the world...we'll get what we're allowed to get.
by da_chicken | 2025-11-03 04:13:23+00:00
> But there is no vulnerability at all. For a normally configured X server with TCP listening, the server should be configured to use MIT magic cookies for authentication.

This feels like you're not understanding why something is called a vulnerability, how they're defined, or why they get rated the way they do. "It's not vulnerable in a best practice configuration," is not the same thing as, "there is no vulnerability." That is incorrect and misleading, and I think you're conflating risk and severity.

The definition used for a vulnerability is [0]: "A weakness in the computational logic (e.g., code) found in software and hardware components that, when exploited, results in a negative impact to confidentiality, integrity, or availability." (emphasis mine)

The CVSS score is not a measure of risk. It is a measure based on the qualities of the defect that was identified and how widespread the software is. A higher CVSS score is associated with higher risk, but your risk is going to vary based on your configuration.

All they did was go to the calculator[1], plug in the answers that best fit the definitions provided for what those areas and responses mean (e.g., CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:H for CVE-2025-62229), and they get that 7.3 score [2].

[0]: https://nvd.nist.gov/vuln

[1]: https://www.first.org/cvss/calculator/3-1

[2]: https://www.first.org/cvss/calculator/3-1#CVSS:3.1/AV:L/AC:L...
by com2kid | 2025-11-03 04:14:13+00:00
> What you're describing verbatim is a potluck. Potlucks in the US are popular among immigrant groups, family friend groups, or parties for clubs or associations. But ultimately they're considered a bit uncool/laidback and don't fit the definition of an American party. They're better described as "get-togethers".

As a foodie in the Pacific Northwest I disagree with this statement.

Potlucks are a chance for people to show off their skills. Some of the best potlucks I've been to have a competition aspect to them, complete with prizes.

As a host of a potluck I'll handle drinks, entertainment, and renting a venue, but the guest list is around 80% people who I can rely on to cook a damn good dish.
by user_7832 | 2025-11-03 04:16:14+00:00
I think a middle ground is possible. Have people not talk about themselves, but rather how they'd react in some bizzare hypothetical situation (for example), and have a few limited options for them to pick and justify. Kinda like cards against humanity in some ways. Ofc ask people first in private what kind of questions etc they're comfortable with and what they'd like to talk about.

Almost everyone has something interesting to say or contribute, the hosts' ideal job is to bring that out.
by antod | 2025-11-03 04:17:08+00:00
Linux had mature stable desktop stacks in the past, but they kinda sucked.

Churn (and consequent ongoing immaturity) seems to be the price we've paid in the last 10-15yrs of "progress" making them suck less. I hope it settles down a bit soon and we get to enjoy more longer term polish on these improvements though.
by oidar | 2025-11-03 04:17:59+00:00
There is a optical illusion that happens on this page for me. When scrolling down or up around the black and white bar graph, a halo around the text (either above or below the bar graph bars), flashes a green hue. Speed seems to matter. Can anyone confirm else see this? I wonder what this optical illusion is called?

On topic though, digital goods and specialized robotics/automatic manufacturing made the first part of this graph possible, now we are on the cusp of generalizable robotics and AI for an even steeper curve. Even if LLMs stay as dumb as they are now, there are incredible gains to be made from them.
by LtWorf | 2025-11-03 04:19:01+00:00
I see wayland as the pulseaudio of display.

Everybody is pushing it and trying to convince the people who have problems with it that it's completely fine and their problems aren't important (like blind people being completely unable to use the computer).

At some point the pipewire of display will come along and we'll all forget wayland was ever a proposed solution.
by alephnerd | 2025-11-03 04:19:03+00:00
Corruption and abuses of power exists in most countries, but the degree to which these abuses of power occur in Nigeria (hybrid regime), Pakistan (hybrid regime), Georgia (illiberal democracy turned hybrid regime), Turkey (illiberal democracy turned hybrid regime), and Jordan (hybrid regime) compared to their peers let alone Western countries is fairly well known.

The EIU, V-Dem, CPI, World Bank, and various other benchmarks highlight this as well.
by com2kid | 2025-11-03 04:21:11+00:00
Some summers I plan on BBQing every weekend and I throw invites out on Thursday. People typically bring something and we all have a good time.

For the parties as described in the article, I maybe go to one or two a year tops. Before I had a kid I used to host large parties like the kind described (~15 people tops though), now I just attend and contribute.
by WarOnPrivacy | 2025-11-03 04:22:58+00:00
I once built an obit scraper to build a db of local recent decedents. It was just to ease some work I was doing for a probate attorney.

I eventually set it to compare against a church roster. It emailed the leadership on matches and they'd follow up to see if it was the same person.

Sometimes they got notified earlier than they would have otherwise. But there were a few matches every year that would have flown under the radar (snowbirds or less active). It allowed leaders to make assistance and support available to the family.
by BenFranklin100 | 2025-11-03 04:23:41+00:00
The author’s examples are very prominent tech companies during a period of rapid growth in the industry and a single massive retailer (Walmart) with a big online presence. For comparison , I spot checked Target: revenue increased from $85B in 2020 to about 105B$ in 2024, about a ~20% increase. Headcount went from ~ 360,000 to 440,000 during that period, also a ~ 20% increase.

I think a better title might be the less catchy, ‘The decoupling of headcount and revenue at quasi-monopolistic tech companies that are scaling platform products and services.”

Also revenue and capital are not interchangeable terms. The author appears to be confused over this point.
by saghm | 2025-11-03 04:24:18+00:00
Yeah, right now there isn't really any example of the value tradeoff being high enough that its overcome the barriers to adoption. Examples making the benefits more clear are helpful in being able to talk about dependent types in my opinion because most programmers (including myself beyond a fairly surface-level understanding, honestly) probably aren't familiar with them; once that's been established, I think it's a lot easier to talk about why the approach hasn't yet become mainstream.

For example, with the potential utility in having dependent types for list APIs, the barrier is that in practice, it's not always straightforward to be able to define your code in a way where you actually know the size of the list. If I read input from a user, I might be able to do an initial check that a list of items is non-empty as part of the constructor for the type, but what happens if I want to start popping off elements from it? In practice, this seems like it would either force you to go back to manually checking or only ever process things in a purely functional way to avoid defining behavior that vary based on state that isn't known. If you're willing to take this approach, having the compiler enforce it is great! You have to be willing to use this approach often enough for it to be worth picking a language with dependent types though, and in practice it doesn't seem likely that people would choose to even if they were more aware of the option.
by tptacek | 2025-11-03 04:24:22+00:00
The question at the trial will be whether a reasonable person would have believed the evil corporation authorized the requests. You seem set on replacing the evil corporation with society, interposing a sort of "it's a public good for this information to come out, and so we'd generally authorize it". But if the company itself clearly wouldn't have intended you to have that access, and you knew that, and you used the access anyways, then yes: you committed a crime.

Again: mere ToS violations are not enough to cross that line.