MurphyA/hacker-news huggingface dataset:
by abdullahkhalids | 2025-11-27 19:35:21+00:00
Usually there are three parties in these agreements.

1. State of Pakistan

2. Someone with dollars (the investors)

3. Local businessman who are willing run the power plant.

The three parties come to an agreement on what the minimum returns should be on the investment. Say 10% annual. Then the investors give money to the businessman, who then import the power plant equipment and start operating it. The state-run electricity distribution companies buys from the power plant as needed and pays them the unit price set by the State of Pakistan. Part of this is converted into dollars at some pre-agreed rate and transferred to the investors.

In all this, if the total returns to the investor are above 10%, then all is good. However, if the grid demand has fallen, and the distribution company didn't buy a lot of units from the power plant, then the State of Pakistan has to step in and give the investors the difference to make up the 10% returns.

Yes, it is an insane system.
by raincole | 2025-11-27 19:36:14+00:00
You probably misunderstood how "infection" of GPL works. (which is very common)

If your close-sourced project uses some GPL code, it doesn't automatically put your whole project in public domain or under GPL. It just means you're infringing the right of the code author and they can sue you (for money and stopping using their code, not for making your whole project GPL).

In the simplest terms, GPL is:

if codebase.is_gpl_compitable: gpl_code.give_permission(code_base) else if codebase.is_using(gpl_code): throw new COPYRIGHT_INFRINGEMENT // the copyright owner and the court deal with that with usual copyright laws

GPL can't do much more than that. A license over a piece of code cannot automatically change the copyright status of another piece of code. There simply isn't legal framework for that.

Similarly, AI code's copyleft status can't affect the rest of the codebase, unless we make new laws specifically saying that.

Also similarly, even if Github lost the class action, it will NOT automatically release the model behind GPL to the public. It will open the possibility for all the GPL repo authors to ask Microsoft for compensation for stealing their code.
by dahart | 2025-11-27 19:36:24+00:00
Great looking demo. Someone could use this for a show’s title sequence. There’s something about the combination of soft shadows and r-squared light falloff that always tickles me.

Fun fact - you can use very similar logic to do a single-sample depth of field and/or antialiasing. The core idea, that maybe this blog post doesn’t quite explain, is that you’re tracing a thin cone, and not just a ray. You can track the distance to anything the ray grazes, assume it’s an edge that partially covers your cone (think of dividing a circle into two parts with an arbitrary straight line and keeping whichever part contains the center), and that gives you a way to compute both soft shadows and partial pixel or circle-of-confusion coverage. You can do a lot of really cool effects with such a simple trick!

I searched briefly and found another nice blog post and demo about this: https://blog.42yeah.is/rendering/2023/02/25/dof.html
by elzbardico | 2025-11-27 19:36:28+00:00
The reason power plants in Pakistan probably require this kind of financing is because Pakistan doesn't have the industrial capability to make the equipment that you need to build a power plant, so, dollars are a requirement.

Power companies in Pakistan also don't have easy access to international money markets, and thus, it makes sense for the government to back those strong currency loans as a subsidy on infrastructure.

This is not exclusive to Pakistan, this is the routine of infrastructure financing on developing countries. J.P. Morgan is not really eager to lend money for PakiPower Incorporated, but it is willing to lend to the government.
by chasing0entropy | 2025-11-27 19:36:31+00:00
Article won't load without JavaScript but I can say from personal experience that at the school your child attends, a neighbors house they visit, an imaginary bestie, a friend at the playground, or even an online(but human) gaming buddy have INVALUABLE and distinct characteristics that a doll/screen/furby that interacts with my child could never have.

The device being devoid and incapable of ever possessing a concept of accountability, identity, morals, or even predictable behaviors make it unacceptable as an entertainment, educational, or teaching device.

As a society of billions, we must live, cooperate, empathize, and understand each other in the interests of survival as a species. Playing with AI and LLMs to write code, answer curiosities, and entertain ourselves are innocent enough endeavors regardless of the trillions of dollars wasted; but risking the long term mental health and healthy development of a single child with indefinite exposure to current state LLMs is irresponsible.
by anon7000 | 2025-11-27 19:36:34+00:00
> the self censorship that was initially brought forward by TikTok

I think that’s even too soon! YouTube has had rules around being advertising friendly for longer than TikTok has existed. And the FCC has fined swearing on public broadcasts for like 50+ years.

But I do agree, we’re attributing too much to LLMs. We don’t see personal, human-oriented content online because social media is just not about community.

1. Young people (correctly) realized they could make lots of money being influencers on social media. TikTok does make that easier than ever. I have close friends who make low 6 figures streaming on TikTok (so obviously they quit the low wage jobs they were doing before).

2. People have been slowly waking up to the fact that social media has always been pretty fake. I quit 6 years ago, and most of my friends have slowly reduced how much they use it. All of the platforms are legally incentivized to only care about profit and engagement. Capitalism doesn’t allow a company to care about community and personal voice, if algorithmic feeds of influencers will make them more money.

There’s still good content out there if you know where to look. But digital human connection happens in group chats, DMs, and FaceTime, not on public social media.
by ash_091 | 2025-11-27 19:36:44+00:00
While I agree with your general sentiment, the 10 key being on the "wrong" side could be good, perhaps, in some cases?

Historically I've done some heavy spreadsheet work where the resting position of my hands which minimizes movement is right hand on the mouse, left hand on the 10 keys. On a normal keyboard that has the disadvantage of causing a "closed" posture which isn't entirely comfortable.

Outside of that kind of niche use case though, it definitely feels like a strange choice for developers.
by Ekaros | 2025-11-27 19:36:45+00:00
Bought first board with swappable switches this month. And bit later about 70 different samples from Ali. Just the cheer quantity of that number is crazy to me.

Have to figure out if there is anything there when they arrive. But I think that is not even inclusive of some more expensive chinese brands.

Still, it is another interesting example how something can end up standard. That is the pin layout and the stem for keycap.
by seanmcdirmid | 2025-11-27 19:37:16+00:00
Oh I’m sure, Pakistan has alot of trade with China also so it’s probably cheaper than in the west. But it would still be expensive for the poorer Pakistanis, and would require some investment, they simply have less ability to do that than a richer middle class Pakistani, so the poor pay the poor tax because they can’t invest capital to bring their costs down.

Low Chinese prices are making it more and more possible though. I hope the future will be really different.
by turtletontine | 2025-11-27 19:37:18+00:00
> Since Google doesn't sell TPUs, they are extremely well-positioned to ensure no one else can profit from any advantages created by TPUs.

First part is true at the moment, not sure the second follows. Microsoft is developing their own “Maia” chips for running AI on Azure with custom hardware, and everyone else is also getting in the game of hardware accelerators. Google is certainly ahead of the curve in making full-stack hardware that’s very very specialized for machine learning. But everyone else is moving in the same direction: lots of action is in buying up other companies that make interconnects and fancy networking equipment, and AMD/NVIDIA continue to hyper specialize their data center chips for neural networks.

Google is in a great position, for sure. But I don’t see how they can stop other players from converging on similar solutions.
by epolanski | 2025-11-27 19:38:01+00:00
The type encodes the logic in the schema, it is absolutely a refinement as every parser is. Maybe you meant a comparison with dependent types?

Now every time you will have to use a NonEmptyString255 as a type it has to be branded by passing through the constructor, so you can't pass a normal string to an API expecting it, and you get the error at type level. The logic is encoded in the schema itself, which you can click.

And it also provided the decoder (parser) and encoder (constructor). So you use the parser in a form or whatever and get parsing and precise errors (for it being too long, too short, not a string). And you can annotate the errors in any language you want too (German, Spanish, etc, English is the default)

Essentially this approach is similar to using some class NonEmptyString without using a class and while keeping the information at type level.

It's practical and the ceremony goes as far as copy pasting or providing a different refinement, besides, AI can write those with ease and you don't need to do it frequently, but it's nice in many places not mixing UserIDs with ProductID or any other string makes codebases much easier to follow and provides lots of invariants.
by o11c | 2025-11-27 19:38:05+00:00
I'm not familiar with Zod, but one thing that is quite important on the user end is to produce multiple (but, per policy, not infinite) error messages before giving up. That is, list all environment variables that need to be set, not just whichever one the code happens to be first.

This could be implemented with `??`, something like: `process.env.NODE_ENV ?? deferred_error(/temporary fallback/'', 'NODE_ENV not set')`, but is probably best done via a dedicated wrapper.
by PunchyHamster | 2025-11-27 19:38:13+00:00
if the same solar also had enough battery capacity, sure. But they do not, they still need to buy at out of solar peak and that just causes problems for both sides.

I think grid should start moving into selling storage as a service. Just put a bunch of bulk storage at every transformer station and buy solar from consumers at solar peak, sell them back say 80% of it (or whatever margin is required to pay for it) off peak.

That way utility no longer have to haul megawatts all the way from the power plant all the time, any peak can be hauled from the batteries and let the other types of power plant more time to spool up, and the grid is more resilient to outages (assuming you were lucky and battery bank local to you still had some charge
by tpmoney | 2025-11-27 19:38:19+00:00
I've pitched this idea before but my pie in the sky hope is to settle most of this with something like a huge rollback of copyright terms, to something like 10 or 15 years initially. You can get one doubling of that by submitting your work to an official "library of congress" data set which will be used to produce common, clean, and open models that are available to anyone for a nominal fee and prevent any copyright claims against the output of those models. The money from the model fees is used to pay royalties to people with materials in the data set over time, with payouts based on recency and quantity of material, and an absolute cap to discourage flooding the data sets to game the payments.

This solution to me amounts to an "everybody wins" situation, where producers of material are compensated, model trainers and companies can get clean, reliable data sets without having to waste time and energy scraping and digitizing it themselves, and model users can have access to a number of known "safe" models. At the same time, people not interested in "allowing" their works to be used to train AIs and people not interested in only using the public data sets can each choose to not participate in this system, and then individually resolve their copyright disputes as normal.
by runjake | 2025-11-27 19:39:07+00:00
A single 27" 4K monitor at home, along with my 14" MacBook Pro screen.

A single 32" 4K OLED monitor at work, along with my 16" MacBook Pro screen. Formerly, it was 3 x 27" 4K and 1440p monitors, but I wanted to focus more and it was jacking up my neck.

I have to monitor number of different things throughout the day at work, but I moved to a model of better automated monitoring and alerting to free up the brain and lessen context switches.
by pfannkuchen | 2025-11-27 19:39:18+00:00
Just stop trading manufactured products with Asia.

Their people are still transitioning from agrarian hardship to urban factory life, and there seems to be a zeal that comes with this transition, a willingness to work hard for what here today would be considered little.

Good for them. But in Europe we had this transition already and we became disillusioned with the lifestyle tradeoffs.

Having our people do nothing productive while all of our life objects are made by others is not sustainable and it is awful for the morale of our peoples. It needs to be stopped.
by bediger4000 | 2025-11-27 19:39:31+00:00
"AI" generated code often has a number of styles in the same functions or modules. In an "AI" generated bash program I recently reviewed, the code had both "if [ testtesttest ]" and "if [[ testtesttest ]]" styles along with different styles of testing lexical equality.

It also had a globbing test I'd never seen before, something like "if [[ $X = *"string"* ]]". It works, but wow, ugly.

The new bash program looked old, like someone with a distinct set of preferences wrote it years ago and 2 or 3 maintainers had hacked on it, being less careful to keep a consistent style.

That sort of thing would be judged low quality legacy code 5 years ago. It's harder for a human to understand, and since it just might depend on a peculiarity of "=" vs "==" vs "-eq", people make minimum changes or maybe no change at all. That's one way "low quality" you seek is exhibited.
by ninth_ant | 2025-11-27 19:40:00+00:00
> When you get new hardware and new features, you don’t want them sitting idle while you wait for patches to get upstreamed. Whether you develop for IoT, automotive, audio or mobile, when you get new features in a system-on-chip (SoC), you want to take advantage of them right now.

Sure doesn’t sound like mainstream consumer pc desktop is the target at all. Yes, they do provide instructions for how to run this on desktop but it’s far from accessible for the overwhelming majority of pc users.

I mean it’s still a good thing for Linux desktop to have this as an option, I’m not complaining. But to be realistic those benefits feel tangential to what Qualcomm is aiming at here.
by paulddraper | 2025-11-27 19:40:08+00:00
I thought this was obvious, but you will be asked to evaluate every government/organization on their morales. So they enforce immigration laws, not enforce it, enforce improperly, do they support abortion, do they support the right side in the Middle East, do they have racist policies, do they not have anti-racist policies, do they limit freedom of speech, do they not limit free speech enough.

Every service has rules but are the rules clear and consistent enough that organizations can reliably use the service without worrying they’ll be terminated.
by ofrzeta | 2025-11-27 19:40:35+00:00
I was researching that topic a little bit a while ago but with no usable outcome. The aim was to find out how to cope with SSDs as backups. Is it enough to plug them into a power connection once in a while so the firmware starts the refresh cycle? Do I need to do something else? How often does it need to be plugged in? Thankful for any pointers ...
by h14h | 2025-11-27 19:40:42+00:00
I'm personally rooting for "business decision" over "turning over a new leaf".

If FOSS support is motivated by a clear profit motive, then it'll be viewed positively by shareholders and stick around no matter who is in charge. If FOSS support comes from "turning over a new leaf", it could be dropped at a moment's notice in response to a leadership change.

IMO we will always see far better FOSS support from the private sector when the time they invest has a positive ROI that is obvious and easy to brag about in a quarterly earnings call.
by toomuchtodo | 2025-11-27 19:40:43+00:00
LFP chemistries are approaching ~$50/kWh, and CATL's sodium chemistry is supposed to be ~$40/kWh (per CATL); soon it will be more expensive to ship the battery storage than the storage itself.

"Watershed moment:" Big battery storage prices hit record low in China auction - https://news.ycombinator.com/item?id=44504630 - July 2025 (4 comments)

IEA: The battery industry has entered a new phase - https://www.iea.org/commentaries/the-battery-industry-has-en... - March 5th, 2025

Naxtra Battery Breakthrough & Dual-Power Architecture: CATL Pioneers the Multi-Power Era - https://www.catl.com/en/news/6401.html - April 21st, 2025

China Already Makes as Many Batteries as the Entire World Wants - https://about.bnef.com/insights/clean-transport/china-alread... - April 19th, 2024
by kennywinker | 2025-11-27 19:41:46+00:00
Sure, but in that case string | undefined is the correct type, and turning it into string | “” isn’t helping anybody.

It’s the difference between:

if (fooBarDisplayName) { show div }

And:

if (foobarDisplayName && foobarDisplayName.length > 0) { show div }

Ultimately, type systems aren’t telling you what types you have to use where - they’re giving you tools to define and constrain what types are ok.
by threecheese | 2025-11-27 19:42:04+00:00
Just poked through the code, and I’ll add to the other answers given from an outsiders perspective.

What I find interesting: I’m running all kinds of agents (for good or bad, make fun of me if you like): not just coding agent products, but “hand rolled” as well, and they all have features which require some filesystem or environment state (tools, skills, instructions etc). They are each subtly different in those requirements, but some patterns are emerging and it seems to me that OP is seeing this as well - and noting that this aligns with the Agent Sandbox domain which is not “solved” yet. Consider that a Dockerfile sets up an environment for the code you want to deploy, which is better than the shell script you use on your local - it’s becoming more apparent to me that there’s a similar need here, which isn’t satisfied by the abstractions we already have, and lots of folks are poking around these domains to find something that fits.
by mertbio | 2025-11-27 19:42:07+00:00
Germany doesn’t compete in cheap manufacturing, they compete in highly precise manufacturing. There are bunch of things that are only manufactured in Germany. You don’t hear those companies that much because they are not public but they are well known by the people who work in specific industries. When you combine them, they are way bigger than the German companies you hear everyday which are laying off people or closing factories.

For some reason, every time Europe is mentioned, there is always a comment about how Europe is struggling but when you look at the quality of life, happiness or life expectancy, all those numbers are higher than the US. People should stop obsessing with GDP.
by officehero | 2025-11-27 19:42:10+00:00
It's more that people who historically didn't have a voice now have one. It's often stupid but sometimes also interesting and innovative. Saw a channel where a university professor "I" comes to the realization she's been left-leaning/biased for decades, that her recent male students no longer dare engage in debate because of shaming/gaslighting etc. Then I click channel description and turns out it's "100% original writing". Now if it hadn't said that it would be strawman propaganda. But now it does... Not sure how to put a finger on it, there's some nervous excitement when reading these days, not knowing who the sender is, getting these 'reveal' moments when finding out whole thing was made up by some highschool kid with AI or insane person.
by k1musab1 | 2025-11-27 19:43:30+00:00
This exact issue lead me to follow the grid orchestration research out of the Oak Ridge Laboratory. The building blocks already exist to enable this. An interconnected smart network of renewables can become a stabilizing force in the overall grid. Off-peak storage would still be required, but would no longer need to be "stabilizing" (turbine or other similar generator), and can be simple batteries.
by xp84 | 2025-11-27 19:44:08+00:00
I didn’t say there were no reasons that smart/pro customers should dread a portless phone and appreciate the port. Of course there are reasons!

But Apple could definitely make the “non-pro” phone portless- exactly the way they arbitrarily force USB 2.0 speeds (hello 2004!) even on the iPhone 17 non-pro’s port - rendering it worse than Wi-Fi for data transfers.

They must have market research proving it would cost them sales. That’s the only thing holding them back.
by danenania | 2025-11-27 19:44:10+00:00
Though I think the CEO role is realistically one of the hardest to automate, I’d say middle management is a very juicy target.

To the extent a manager is just organizing and coordinating rather than setting strategic direction, I think that role is well within current capabilities. It’s much easier to automate this than the work itself, assuming you have a high bar for quality.
by eldavido | 2025-11-27 19:44:12+00:00
Hard agree with both points--this feels way closer to reality than most of what I've read.

On recession: cost of living is becoming crisis-level. I read recently that 67% of Americans are paycheck-to-paycheck. 150k/yr is 12k/month. If groceries go from 500 to 1000/month, a 150k wage-earner save less for retirement. For someone making 30-40k (basically minimum wage), it's a huge hit. Then consider it's the same story for cars, housing, medical care...it goes on and on. It doesn't look "recessionary" because GDP keeps going up. But we're getting so much less for it with every passing year.

I also agree that we need to consider what brownfield dev looks like. It's where the vast majority of my time has gone over 15+ years in software and I'm not convinced all the coordination / sequencing / thinking will be assisted with LLMs. Particularly because they aren't trained on large proprietary codebases.

What we might both be missing, is that for most people, writing the actual code is hard. LLMs help with that a lot. That's what a lot of junior/entry-level work, actually is (not as much planning/thinking as seniors do).
by selfdb_io | 2025-11-27 19:44:51+00:00
I built this because I was tired of the friction involved in moving self-hosted projects between servers. Usually, migrating a stack involves a manual dance of pg_dump, scp, re-configuring docker-compose, and aligning environment variables.

SelfDB-mini is a production-ready boilerplate designed to be completely portable.

The Core Idea: It treats the database state and the environment configuration as a single unit. The backup system bundles the PostgreSQL dump and the .env file into a portable .tar.gz archive. To migrate, you simply spin up a fresh container on a new machine and upload the archive via the UI.

The Stack: Instead of a bare-bones "Hello World", I included the tooling necessary for actual production loads:

Database: PostgreSQL 18 + PgBouncer (pre-configured for connection pooling). Backend: FastAPI (Python 3.11) with asyncpg. Frontend: React + TypeScript (Vite). Testing: Includes setups for Locust (load testing) and Schemathesis (API contract testing). SDKs: Auto-generated TypeScript clients via hey -api`.

It’s open source and Dockerized. I’d appreciate any feedback on the architecture or the backup strategy.