MurphyA/hacker-news huggingface dataset:
by btown | 2025-09-22 22:18:43+00:00
> your function needs to have no side effects

I'm trying to understand how well this no-side-effects footgun is defended against.

https://github.com/cloudflare/capnweb/blob/main/src/map.ts#L... seems to indicate that if the special pre-results "record mode" call of the callback raises an error, the library silently bails out (but keeps anything already recorded, if this was a nested loop).

That catches a huge number of things like conditionals on `item.foo` in the map, but (a) it's quite conservative and will fail quite often with things like those conditionals, and (b) if I had `count += 1` in my callback, where count was defined outside the scope, now that's been incremented one extra time, and it didn't raise an error.

React Hooks had a similar problem, with a constraint that hooks couldn't be called conditionally. But they solved their DX by having a convention where every hook would start with `use`, so they could then build linters that would enforce their constraint. And if I recall, their rules-of-hooks eslint plugin was available within days of their announcement.

The problem with `map` is that there are millions of codebases that already use a method called `map`. I'd really, really love to see Cap'n Web use a different method name - perhaps something like `smartMap` or `quickMap` or `rpcMap` - that is more linter-friendly. A method name that doesn't require the linter to have access to strong typing information, to understand that you're mapping over the special RpcPromise rather than a low-level array.

Honestly, it's a really cool engineering solve, with the constraint of not having access to the AST like one has in Python. I do think that with wider adoption, people will find footguns, and I'd like this software to get a reputation for being resilient to those!
by taeric | 2025-09-22 22:19:16+00:00
I don't think I mentioned boolean algebra? I responded to someone else mentioning it. My problem there is still that you are going to be taught how to operate over boolean values using an algebraic construction. (Looking, I think that is accurate. Apologies if I am the one that brought it up somewhere, I don't remember that.)

Which, fair that may help some people. I just feel that this is akin to asking for people to understand algebraic effects using basic algebra from middle school. In basic algebra practices, you lean heavily on the basic operations applied to reals and see how to manipulate equations to discover both solutions and other statements about the equations. (Advanced students will eventually extend to imaginary numbers, but I don't think that changes this statement?)

Similarly, with algebraic datatypes, you learn what it means to combine the domains of types together. Since it is an algebra, you learn this in terms of the basic operations. Hence SumTypes and ProductTypes. My assertion there is that this is hard for people because they don't actually do the algebra on the domains. And, by "they" I largely mean the software that they write.

So, with algebraic effects, I would expect that this is about the ways that effects can be combined using basic algebra tools. But what is it that you are combining? In the types, you were combining domains for analysis. In effects, I'd expect that you are combining whatever it is an effect is. You seem to be saying that an effect is a standard value? But, that seems at odds with the definitions that distinguish "pure" functions from those that have "effects" being defined by things that they cause to happen.

It doesn't help that we typically talk about things that we want to preserve some property on. It isn't enough to say "writes to stderr", we want to know that it does so without clobbering someone else currently writing to the same spot. At the least, we probably want to know that it line buffers output in such a way that that is preserved.

So, when asking for an example, I'm hunting for something to meet me somewhere in the middle. Sucks that this commonly comes down to "writes to a logger."
by Supermancho | 2025-09-22 22:19:41+00:00
I would say most workplaces have settled similarly.

Sit in draft until you're ready to use the CI - which you verified locally or run manually in draft, before convert to reviewable - then review, maybe tweak, merge.

Atomic commits would endanger me losing unfinished work or eventual dead-ends with no record. This seems inefficient.
by eigenspace | 2025-09-22 22:19:50+00:00
Instead of a hot-swappable battery, why not just carry a large battery-bank that can charge your laptop over USB-C? That way you don't even need to reboot.

Browsing around on Amazon, I see there's actually quite a few battery banks that with over 60W of output, and ~100Wh of capacity for under 100€
by ryandrake | 2025-09-22 22:20:44+00:00
It doesn't seem to even be about making metrics go up. It's about telling a narrative-reinforcing story: That AI is great. It's worth it. Leadership is right to be obsessed with it.

I would have thought that in a fight between "fooling ourselves with a story" and "metrics go up" that the metrics would win, but it seems to not be the case.
by twixfel | 2025-09-22 22:22:04+00:00
> I get that full fat coke is an idiomatic phrase but it stems from honest ignorance towards macronutrients

You don't understand. It's literally just a reference to full-fat and semi-skimmed milk, like a small joke. It's OK to not understand, you're not from the UK, but it's a bit outlandish to turn your own failure to understand a very basic joke into grand claims about British education lol.

I think you've just been living in the UK too long and should probably go home. You sound completely depressed. 20 years in a country you hate populated by people you despise sounds like Hell. It's not too late to make a change. Where's home for you then?
by rapjr9 | 2025-09-22 22:22:06+00:00
I worked with an SGI 2400T workstation and it came with a 4:3 aspect high resolution monitor (4K I think, different from today's 4K). Later workstations probably had wider screens. However even that old machine could display to a wide variety of screen sizes. I connected ours to an NTSC projector and they were often used for rendering movie computer graphics (though rendering doesn't depend on the display size). If I remember correctly the pixels were square by default, but there was a lot of control over rendering and display. NTSC at that time wasn't even a very firm standard, lots of companies implemented it differently and hi-res displays tended to be custom with no standards at all (used for air traffic control for example).
by JumpCrisscross | 2025-09-22 22:22:10+00:00
> so no actions, just statements

This is mind-numbing goal-post reconstruction.

If they'd issued an order, it wouldn't be final until it reached SCOTUS! Most regulatory interaction happens informally. A regulator tells a regulated entity to do something, and they do it. Public statements by the FCC commissioner are significant enough to make it into court cases as evidence of the Commision's intent.
by JackSlateur | 2025-09-22 22:22:10+00:00
I think the author is mislead

Let's grab a simple use case: some basic CRUD http API. Easy, you say, no need to know fancy stuff ! Just test it and that's all.

You do your test, all good, you can roll in production !

But sadly, in production, you have multiple users (what an idea ..). Suddenly, your CRUD api has become a concurrent system. Suddenly, you have data corruption, because you never thought about anything about that, and "your tests were green".

Algorithms are the backbone tools of programming. Knowing them help us, ignoring them burdens us.
by craetical | 2025-09-22 22:22:21+00:00
I built imagemotion-ai.com a tool that takes a single image and generates a short video animation from it using AI.

The idea came from experimenting with generative video models — I wanted something lightweight where you can just upload a photo and get back smooth motion (camera moves, subtle subject animation, etc.) without needing to know model details or run GPUs locally.

It’s still early:

Supports photos, art, and renders.

Outputs short clips (up to ~10s @4k resolution).

Runs inference in the cloud, so no setup needed.

I’d love feedback on:

Use cases you see (presentations, ads, creative projects?)

Features worth adding (longer clips, style control, audio sync, API access).

Pricing

Pain points (speed, quality, UI).

Would really appreciate your thoughts!
by bityard | 2025-09-22 22:23:15+00:00
25. Left-clicking in a window to raise it _sometimes_ performs actions in the app (e.g. clicking a button or scrolling the window) and _sometimes_ only raises the window. It seems to depend on the app.

26. No ability to use focus-follows-mouse.

27. Home/End keys send you to the top/bottom of the whole document instead of the start/end of a line. The latter is much more useful to me and I use it all the time. You can change this behavior with a terminal command followed by rebooting, but some programs still do whatever they want.

28. Automatic text replacements change the text you entered into the text that Apple thinks you mean. (Can also be disabled.)

29. Holding down an alphanumeric key brings up an accept/symbol selector, as on iPhone. This isn't compatible with many terminal applications like vim.

30. The dock has a tendency to move automatically to another display when there is a maximized window on that display. (I know how to move the dock by going bottom of the display and moving the mouse down, this isn't that.)

31. The camera notch can hide icons and you have no way to get to them without either connecting and external display or a workaround like https://github.com/dwarvesf/hidden.
by toast0 | 2025-09-22 22:23:32+00:00
Jury trials involve a lot of time, costs, and uncertainty. Juries are human and their verdicts need not be rational.

For claims significantly less than the defendant's assets, if the defendant is likely to be found liable, they may need to pay the plaintiff's losses as well as lawyer and court costs; settling before court most likely reduces the cost and provides certainty. For the plaintiff, settling before court may reduce the award, but provides it faster and with certainty.

For claims larger than the defendant's assets, typical cases involve an insurance company and in some cases a trial award that's above policy limits may be payable the insurance company if a settlement offer below the limits was offered by the plaintiff and not accepted by the insurance company (keyword: excess judgement), but if the plaintiff is on their own they may not care one way or the other --- a settlement they can't pay might be the same as a judgement they can't pay, perhaps delay and hope is preferred, perhaps they may be able to negotiate a settlement that they can pay. For the plaintiff, if there's only $X from the defendant, using it on legal costs is a loss, so settlement is preferable, especially if there's a chance of the defendant making the assets unavailable.

The incentives for settlement aren't so much about what plaintiffs' lawyers or defendants' lawyers are up to, but about how courts operate. Certainly lawyers have some influence on operation of courts, but it's a big combination of things, and IMHO, it falls more under government policy than anything else. If courts were staffed such that you could reliably expect to take an injury case from complaint to judgement in 6 weeks, maybe more people would do it. Of course, that might require more omniscience than is possible.
by WarOnPrivacy | 2025-09-22 22:23:41+00:00
> I prefer living in places where you can leave your laptop on the front seat of your running car and come back twenty minutes later and it’s all still there.

We have that and it's one of the few perks of our suburban hell. My neighbor was gone for two weeks and had 10-20 packages on his doorstep. Our only concern was that rain might get to them.
by V__ | 2025-09-22 22:23:42+00:00
> Conventional research papers require readers to invest substantial effort to understand and adapt a paper's code, data, and methods to their own work [...]

But that's the point! If we take out the effort to understand, really understand something on a deeper level from even research, then how can there be anything useful build on top of it? Is everything going to loose any depth and become shallow?
by JustExAWS | 2025-09-22 22:23:50+00:00
Do you care about not having a subscription? If so that solves that problem. But in 2025, I have three devices where I for whatever reason may want to have access to my document - my phone, tablet and personal MacBook. That’s not even counting in a pinch, editing on the web if I’m at another trusted computer or on my work computer.
by stavros | 2025-09-22 22:24:04+00:00
I understand your reasoning, but this is one of those things where people will use the default, and your choice as designer is whether you'll have the default that makes it harder to get started with, but reduces bugs down the line, or whether you'll make it easier to get started with, but much more buggy.

History has shown that, if you want things to be popular, you should choose the latter, but I think the tide has turned enough that the former could be the right choice now. That's also the reason why we use Typescript instead of JS, so mandatory static typing would definitely fit with the zeitgeist.

Honestly, the boundary is the one place where I wouldn't want to not have types.
by neilv | 2025-09-22 22:25:17+00:00
You can more easily get strong canvas grocery bags, with and without branding.

Including ones with two sizes of handles (one set of handles for dangling from hands, the others for slinging over shoulder), which I guess you could alternate based on whether you're visible to to muggers.

I even saw a canvas design that had a color and finish to look very reminiscent of grocery store brown paper bags.

The similar bookstore canvas tote bags might be seen as more likely to contain a laptop or tablet (since some people use them just like others do backpacks). So I like the grocery one.

One advantage of the movie prop one -- in the office -- is that I could imagine a stylish designer type carrying it to a conference room table, more easily than a frumpier canvas bag.

Personally, I use a functional plain all-black backpack that looks presentable in the office (including carrying into the conference room, but put on the floor/chair), yet understated on the street.
by didibus | 2025-09-22 22:25:24+00:00
Does your company have a stake in AI?

I suspect a lot of companies that go that route are pushing a marketing effort since they themselves have a stake in AI.

But I'd love to hear from truly customer only businesses, where AI is pure cost, with no upside, unless it truly pays for itself in business impact, and if they too are stuck in some justifying of their added cost loop to make their decision seem a good one no matter what, or if they are being more careful?
by anywhichway | 2025-09-22 22:25:39+00:00
No, just the opposite. In general, the things wealthy people buy (luxuries) experience much larger swings in demand due to price changes like added taxes (in economic terms, "the elasticity of demand"). It's because they are only wants and not needs. They are also usually easily swapped. Instead of buying your wife those diamond earrings, you could get her a painting or a trip to Spain. And rich people are often very money savvy.

It's the necessities that people will continue to buy (or at least replace with close substitutes), regardless of what happens to the price.

Obviously, in this case it worked out much differently, but no, in general you can't say the wealthy people don't respond to price changes due to their wealth.
by vFunct | 2025-09-22 22:25:47+00:00
Maybe if the GEOS-powered C128 also had a 65c816 CPU, a vastly more powerful CPU than the 8502 without being as expensive as the 68000 was at the time. The C128 needed more memory.

Commodore needed more memory. We already had megabyte machines in the late 80's.
by brianpan | 2025-09-22 22:26:03+00:00
> Why haven't local-first apps become popular?

The Immich "Quick Start" step 1 is mkdir and wget commands. Step 2 is "Populate the .env file with custom values"

I get it, when the prerequisites are 1) run a server and 2) have Docker installed, but this isn't inspiring confidence that local-first apps will become popular.
by JumpCrisscross | 2025-09-22 22:26:10+00:00
> The political right in this country would love for Disney to be boycotted - just saying

Don't care.

We've got two groups of people in this country: those willing to sacrifice our republic for personal enrichment and those who won't bend the knee. (The former need to be heavily investigated over the coming decade, mostly so we can write statute that makes their behaviour criminal in the future.)
by leakycap | 2025-09-22 22:26:12+00:00
> A few months ago I stopped selling my Mac applications (PopDo and FreelanceStation)

I looked at these. On PopDo, you mistake two completely different macOS versions (your site says "Works on macOS 14 Sequoia" and of course, Sequoia is 15 not 14). This alone would have me closing the tab on a developer's site.

So I thought, well let me check the FreelanceStation page and the latest release says "Works on Ventura" (which is from 2022).

> I never made any real money out of my apps that would make me consider staying.

I think the two immediate details I noticed on your product pages might be a good indicator of why these things didn't make money. The types of users who pay for Mac apps have an eye for detail and usually run recent macOS releases.

I wouldn't have considered downloading software from a small developer with major errors on the system requirements, or a version from 3 years ago being listed as "Works with..."

Lisp is awesome, but not everything is SwiftUI's fault here. Marketing is an incredible undertaking and starts with attention to detail, especially in the Mac market.
by saulpw | 2025-09-22 22:27:23+00:00
I think the turning point was literally when we started booting into Windows. Before that, you had DOS, which is basically a program launcher and collection of system utilities. You could even run Windows from DOS by typing "win" (which ran "win.com"). You knew everything that was running on your computer, from the drivers you installed in CONFIG.SYS to the TSRs loaded in AUTOEXEC.BAT.

But then people started putting "win" at the end of AUTOEXEC.BAT, which is a personal choice, okay. And then Microsoft shipped Windows 95 and inverted the control structure. The computer then ran whatever Microsoft wanted it to run, and you could get a terminal "window" to run DOS commands. But you had ceded control of your computer to Microsoft and the gods of complexity.
by cptskippy | 2025-09-22 22:27:45+00:00
> Most of the problems here come down to x86 laptops not implementing proper S3 sleep but only “modern standby”, which attempts to emulate the sleep mode that Apple uses that allows for emails to be fetched etc while in a near-sleep low-power state.

That's strange because when I close the lid on my Framework laptop it disables Wifi.
by alephnerd | 2025-09-22 22:28:31+00:00
Depends on the kind of candidate. The brain drain already kind of started reversing in the 2008-12 period during those layoffs, and Indian tech salaries caught up with Eastern Europe (and the US at the top end of the bracket) by the early 2020s.

A large portion of Indians who came to the US on an H1B over the last decade basically came to the US in order to use the American experience to paper over issues with their resumes (eg. Didn't major in CS, didn't attend an INI, worked at a WITCH) causing their careers to stagnate.

Being in the US still conveys bragging rights, but increasingly the older generations recognize that someone immigrating abroad will basically almost never meet their parents again aside for a couple weeks a year.

As such, the name of the game now is to work in the US for a couple years and then become a PM Director or Director of Engineering at a GCC in India.

Additionally, Indian founders in the US have started considering IPOing in Indian equity markets instead of the US because the tech IPO market is (edit: relatively) dead here in North America (especially if you cannot show $400M+ in revenue) but showing $50M-$100M can guarantee you a $500M-$2B IPOs like Pine Labs' listing a couple days ago. There are at least 25 Indian startups in the process of IPOing this year [0] and the trend is continuing [1].

So for entrepreneurial Indians, the US is slowly starting to lose it's shine.

And finally, as an Indian STEM academic in the US, you can get a $100K public-private startup grant if you move your lab to India, and INIs in India (the Indian equivalent of Double First Class universities in China) allow academic staff to work with private sector players without demanding convluted IP partnerships. Thus, a lot of American-educated Indian academics in India are also becoming angel and seed investors, and have helped guide startups into YCombinator or raising a round from an Accel.

From a European perspective, the best example would probably be the reverse brain drain Poland and Czechia saw in the 2016-19 period, Israel in the early 2000s, and China in the 2010s.

[0] - https://inc42.com/features/indian-startup-ipo-tracker-2025/

[1] - https://www.goldmansachs.com/insights/articles/will-indias-i...
by zer00eyz | 2025-09-22 22:28:37+00:00
> If this low contrast blobby window thing makes its way to the laptop I’ll be very, very not impressed.

You have quite a bit of control over all of these features. Dark mode, contrast controls...

There is a lot there you can tweak to have it look how you want and it stays that way through pretty much all upgrades.

> animations, stage managers and pretty docks.

You can turn all this off for the most part.

Spend as much time and effort customizing your Mac as you do customizing your Linux desktop and a lot of your laments will go away.

I use both often enough to know that linux on the desktop is a much steeper investment if you want it to work for you.
by yencabulator | 2025-09-22 22:29:01+00:00
The article contradicts this:

> There’s often a push-pull between these tasks. To give a recent example, suppose I want to prove that a function is associative (task 4). I realize that this theorem is false—oops—because of the underlying type that I've chosen (task 5). Maybe this is a problem I can avoid by decomposing other theorems differently (task 3). But in this case, I realize it’s a hard requirement, and I need to replace the current type with something else—for example, a finite map—and then refactor the whole formalization accordingly (task 2). I also need to check whether my theory is mathematically correct, or if I’ve made some conceptual mistake which renders important theorems unprovable (task 1).

> My most frustrating experiences with Lean have rarely involved proofs of individual theorems. More often, some previous decision has unexpectedly blocked me, and I’m facing a choice between several different complex refactors to fix it. This is what happened with the example above—in the end, I decided to rewrite everything with finite maps, which meant rewriting several definitions and proofs.
by red369 | 2025-09-22 22:29:13+00:00
I really hate this! Long ago, I had a quarterlight window smashed because someone broke into my 20 year old Toyota Corolla to steal a 4L, but half empty bottle of engine oil and a street directory. Obviously the engine oil wasn't expensive, and no-one used street directories anymore, even back then.

This was in nice suburb in New Zealand, so it was a bit of a surprise. The replacement window cost many times the value of what they took, and I was finding small pieces of glass for a while afterwards despite careful vacuuming.

Since then I'm more careful that there is nothing removable visible at all through windows. Ideally, anyone looking through the window should think I am the kind of compulsive person that carries every single thing inside each night. Unfortunately, the trick to making that work almost requires it to be true.