HNHacker News
TopNewBestAskShowJobs

clownstrikelol

355 karma · joined August 1, 2024

submissionscomments
clownstrikelol··on No signs of AI payoff outside the tech sector
> But the reason the cost is ever increasing is the steeply ascending quality.

Sure, if you say so.

> There's no (non-doom) scenario where this game does not end with profitable cheap tokens.

I doubt it.

> Wherever it'll stop scaling, it'll be profitable to serve tokens at that scale.

It’s much more likely, imo, that local AI models will completely destroy the entire business model of inference. For any entity that would be spending enough to replace multiple employees (allegedly), the cost of the hardware to do so is completely affordable. This has the major benefit of eliminating per token costs, and practically guaranteeing that some “AI company” can’t steal your company’s secrets.

At an individual person level, this hardware will take much longer to obtain, but it will happen eventually.

> And of course if it doesn't stop scaling, it's the singularity and all this thought of profits is quite secondary.

I still believe, strongly, that LLMs are the wrong path to AGI. There’s trillions of dollars being put into turning LLMs into AGI; however, there has no zero results showing that LLMs are capable of “learning” anything. “Skills” and expanded context windows don’t count. The “model” needs to be able to modify itself, in real time, for that to be possible.

We’re in a local maxima that strongly refuses to accept that it’s a local maxima. (Diminishing returns for the amount of money poured into “training” is beyond obvious to anyone paying attention).

> An industry cannot fail because it's too successful.

Sure it can. The fossil fuel industry is wildly successful.

It’s also boiling the planet alive, but that’s okay, it’s generating shareholder value so everything’s fine.

Edit for your edit:

> edit: Other explanation. The industry has found a moneyprinter. It prints money, and several companies are building them and printing money. However, each one of those companies is cashflow negative, because they're all trying their desperate best to build an even larger moneyprinter. Why? If they don't build it and the next company over does build it, and it works, then company 1 is differentially outcompeted. what's more, the more expensive each moneyprinter is, once a company gets strongly ahead the second company won't get the financing to keep up with that one. ... But it's still moneyprinters. This is not an economic race that ends up with "and thus everyone stopped printing money."

By your own definition it is impossible to achieve profitability without an ever increasing amount of money flowing into it.

There was a business about moving stamps around that needed similar levels of cash infusion to sustain itself. Eventually its bubble popped too.

clownstrikelol··on No signs of AI payoff outside the tech sector
> Dario explained it very clearly in an older interview. If every model is bigger and more expensive to train, each model can individually be profitable, while the company as a whole still shows a loss at any given point in time.

“We’re profitable as long as you ignore our ever increasing cost of goods sold, we promise it’s not a pyramid scheme” - ~~Charles Ponzi~~ Dario

clownstrikelol··on UUIDv7: Timestamps aren’t time-ordered and other oddities
> That to me sounds like a good way to amplify a bug whereby a foreign key has not been defined¹ where it should be.

Good, as it should be.

> I hope there are copious warnings about it in the docs and when creating a table that way.

It is, SQLite’s docs are great and explain how it works in great detail.

https://sqlite.org/autoinc.html

https://sqlite.org/lang_createtable.html#rowid

clownstrikelol··on UUIDv7: Timestamps aren’t time-ordered and other oddities
> you're getting a record ID and nothing more.

I like SQLite’s decision to make integer primary keys not marked as auto increment to simply be aliases for its rowid which is not guaranteed to be unique for the table’s lifetime.

i.e. inserts that create rows with id 1,2,3,4 a delete of row 3,4 followed by inserts will create new rows 3,4

> Mistaking and ID for something more is the best preparation for some poor soul's headache at some point in the (possibly distant) future.

Agreed, all IDs should be considered opaque. All user facing IDs should definitely be opaque and leak no information.

I’m not a fan of UUIDv7, and don’t buy any of the arguments in favor of it. v4 is the better ID. My general preference though is 128 random bits encoded as base58 for user display. v4 isn’t even 128 random bits!

Need creation time? Add a column. Need sequential ordering based on when rows were inserted? Add an auto increment column.

“But my indexes” So what? Prove that it realistically impacts performance (spoiler alert, the rest of your app is likely far slower than the user facing ID lookups!)

“But my foreign keys” Add a column. If you’re only in a single database server this can be the real primary key, likely an u32 or u64 if you truly need more than 4 billion rows.

“But my hyper scale!” Then eat the cost of more servers for your distributed system. You can’t have your cake and eat it too.

clownstrikelol··on RFC8950: Announce IPv4 with an IPv6 next-hop
Most things IoT are trash, the v4 only special kinds are even bigger pieces of trash.

If you happen to have millions of dollars worth of v4-only IoT devices, that sounds like a you problem. v4 exhaustion has been known for decades, IoT devices that don’t support v6 were ewaste before they even left the factory.

clownstrikelol··on RFC8950: Announce IPv4 with an IPv6 next-hop
>IPv6-only is not a reasonable assumption for the next 10 years or so. Networks must support IPv4 for the reasonable future in some form, just because of a huge amount of V4-only IoT devices with long expected lifetimes.

I’d say it’s a perfectly reasonable assumption. Why? In practice most mobile carriers (notably T-Mobile USA likes to discuss it) are entirely v6 only, with 464XLAT at the edges.

If mobile carriers can do it, and support $billions of devices, it does work, and works well.

If you do have any v4-only IoT trash, put it on its own VLAN (where all the IoT garbage should be no matter what anyway), and let that sole VLAN have v4 addresses.

>But anyway, ULA vs. GUA preference is mostly an academic question. In practice, you can just squat on an unused IPv6 range and avoid the precedence issue.

Totally, but it’s not a good practice to do, even if the risks are generally low. I don’t like to recommend it.

>The deeper problem is that the solution to IPv6 problems appears to be NAT. And we're switching from IPv4 to avoid NAT.

No one should be using NAT with v6 except in extremely limited circumstances. NPT is not NAT, the host portion of the network and, more importantly, the port do not change with NPT. Many of the issues of working around NAT on v4 just don’t exist with NPT. The only “real” limitation with NPT is global address discovery. (Which you’d also have with squatting, and one of the many reasons you shouldn’t do that).

>I'm stubborn, so my house now has its own ASN, a PI block, and a DIA connection to two ISPs. Which is the only NAT-less way to achieve my goal.

I’m very close to doing something similar. There’s an ISP POP that has a few Colo racks about 5 miles away that has clear radio line of sight to my house. I’ve strongly considered using a PtP radio and putting my home internet connection at the POP, just so I can use BGP with my own space to resolve this issue to my satisfaction. The alternative is tunneled connections to where I can use BGP and all of the headaches that go along with that.

>464XLAT (and its evil twin IPv6 RD) were envisioned in the early 2000-s. Along with about 20 various "migration plans". They all missed the point, though. Some people are still missing it.

Doesn’t matter when it was envisioned if it’s not a “just works” tech. There’s a silly amount of minutiae you have to work through to make it work. It should be as simple as enabling it for a VLAN and assigning v4 addresses to the XLAT on a router. Except for rare cases, it’s not the easy. It should be though.

>The key to migration has never been some form of tunneling. The key to migration is making IPv4 and IPv6 coexist side-by-side, in other words, the Happy Eyeballs algorithm. It should have been reified to the TCP level in the late 90-s. So that applications could just do: `connect("somehost.com", 80)` and transparently get either an IPv4 or IPv6 connection, depending on whichever one works better locally. Other operational headaches like the ULA priority would have surfaced much earlier then.

That is effectively how it works, they can coexist together, but it is significantly simpler to only use one. I do agree with you on the ULA priority though. Was a moronic decision to place that below v4, likely again, a lack of imagination on their part.

clownstrikelol··on RFC8950: Announce IPv4 with an IPv6 next-hop
Android’s developers have long had their own vision on how v6 should work to the detriment of their own users...

Exhibit A: https://issuetracker.google.com/issues/36949085

clownstrikelol··on RFC8950: Announce IPv4 with an IPv6 next-hop
Not necessarily, NPT is stateless as the only thing changing is the network prefix (hence NP). The host portion of the address doesn’t change and the ports stay the same on both sides of the translation.

There would still need to be some form of global address discovery, but that’s a much simpler problem to solve in nearly all scenarios.

You’d still have the issue of whether the firewalls in between you and the remote end allow that connection through in the first place though.

clownstrikelol··on RFC8950: Announce IPv4 with an IPv6 next-hop
This is teasing at a bigger issue.

When v6 was “invented” I believe they thought “everyone” would have PI addresses, as was (relatively) common 30 years ago.

If everyone has their own PI space, and used BGP with their ISPs this would also be “zero setup” with v6 as that’s the entire point of BGP and PI addresses.

It was a definite failure of imagination that they did not think of how this would work if you don’t control your own IP space.

If you have ISPs you can peer with over BGP and your own PI IP space this does “just work” as you’d expect. The same way it “just works” with v4 in a NATless world.

A lot of the things that “just work” in v4 are really just NAT sweeping the rough edges under the rug. The same problems exist in v4, but don’t get seen in practice as local / global addresses are effectively always different on your network (unless you’re lucky enough to be a legacy allocation that has an /8 of v4 I suppose).

If you enforce that same “separation” in v6 (with NPT, or NAT) surprise the “problems” also go away, like they do in v4.

clownstrikelol··on RFC8950: Announce IPv4 with an IPv6 next-hop
> This is an option, but ULAs are ranked _below_ IPv4 in address selection preferences. So your network will essentially operate in IPv4 mode

If they don’t have an v4 address then they don’t have that problem.

NPT solves the issue of your devices losing global addresses.

Ideally you wouldn’t need NPT, and you should have an RA for the ULA and an RA for the GUA and then use the ULA locally... but then you end up with a different problem (and why I didn’t do it at home). Doing this means you have little control about which upstream ISP gets chosen. I have two ISPs at home, and router will failover between them; however, even though I have PI IP space, finding a residential ISP that will let me use it is nearly impossible (good luck finding someone there who even knows what BGP is).

So the tradeoff here for me is not letting my devices have a GUA so that my router can control outbound traffic policy completely (like it can with v4), and just NPT it to what I need it to be externally. Works great (but again, if you only have one global prefix you need to deal with, separate RAs for ULA/GUA do work better).

> You're half right. The devices will work fine because they won't be using IPv6 at all.

Not if they don’t have an IPv4 address to begin with!

You can also coax your local DNS resolver to... just not let A records through if the name also has an AAAA record.

Even better than that would be out of the box like magic 464XLAT in home routers / ISPs. As it is 464XLAT is not the nicest thing in the world to configure; however, it does work very well, and does allow for a network to be entirely v6 except at the very edge. Heck, I’d love it if enterprise gear had “like magic” 464XLAT too. Would make a lot of things easier.

> How do I know that? I made a personal goal to create a dualstack demo network that is fully standards compliant and supports the bare minimum functionality that I would expect from a SOHO network. So far, I keep finding new and exciting breakages on every level.

If you really want to accomplish that, completely forget about trying to make dual stack work throughout the network. It’s an exercise in frustration, mostly in needing to duplicate config in v4 and v6, and you will inevitably have them end up out of sync with each other.

464XLAT is good standard here, DNS64 with a NAT64 does also work... for things with names at least.

One of the other comments around here about not providing a “migration plan” does have a lot of truth to it. If, 30 years ago, they envisioned 464XLAT and made it part of the default features a v6 capable router should have, I bet v4 would be long dead (or nearly there) by now.

clownstrikelol··on RFC8950: Announce IPv4 with an IPv6 next-hop
Ditch advertising public addresses to local devices at all.

Have the router issue ULAs only and let the router do stateless NPT (network prefix translation) only.

Done, works great. Doesn’t matter what your internet connection is doing.

Yes, your local devices will use the ULA to attempt to connect to Internet destinations if that’s the only v6 address they have. It works fine.

clownstrikelol··on Solar panels that plug into your wall
Duke is just excessively expensive.

FPL is also for profit, and is cheaper than OUC.

1st 1000kwh with FPL are $0.11461/kwh Above that is $0.13461/kwh with a base customer charge of $10.52

1st 1000kwh with OUC are $0.1155/kwh Above that is $0.1405 with a base customer charge of $18.50/mo

Total cost with FPL for 1000kwh for the month before state and local tax is $125.13

With OUC it would be $134.

https://www.ouc.com/wp-content/uploads/2025/09/2025_10-OUC-E...

https://www.fpl.com/content/dam/fplgp/us/en/rates/pdf/reside...

The biggest factor Id say is FPL has significant amounts of solar and nuclear generation.

https://www.fpl.com/content/dam/fplgp/us/en/news/2025/fpl-ne...

18.8% Nuclear and 8.4% solar (more than double the national average!)

OUC on the other hand has less than 3% Nuclear (generated / purchased from FPLs plant on Hutchinson Islans!) and <6% solar, with a massive 24% still being generated by coal! (FPL demolished their last coal plant ~8 years ago in Indiantown, I watched it live!)

https://www.floridapsc.com/pscfiles/website-files/PDF/Utilit...

So while FPL is technically for profit and OUC is not... FPL is cheaper and greener than OUC.

I say this as a long time Florida resident who remembers when FPL truly sucked in many ways. They’ve, demonstrably, put in effort to make electricity greener and cheaper here in FL. (Even with all of their efforts against home solar).

clownstrikelol··on High Diesel Prices Bankrupted 16 Trucking Companies in Just 30 Days
Don't let "perfect" be the enemy of "good enough."

Rail is not perfect for everything; however, it is a heck of a lot better than 100+ trucks all driving to the same place that a single train could go much more efficiently.

Ships aren't perfect either, but you don't see anyone driving a truck across the pacific do you?

Replace the majority of trucks with rail and use trucks for last mile (from the rail terminal to delivery point), or truly remote deliveries (from the nearest rail yard! even if that is 500 miles away).

clownstrikelol··on Original Sony PlayStation 2 security chip 'broken wide open' after 26 years
https://consolemods.org/wiki/Main_Page

Read the instructions carefully, multiple times.

The older PS3s can be jailbroken through a browser exploit.

The E3 flasher is also quite nice on those same PS3s if you are feeling more adventurous or your browser exploit fails.

Given that most PS3s are getting to be quite old, and you’ll likely want to tear them down and clean / repaste them anyway, using an E3 isn’t too bad of an idea. No soldering required!

I bought an early PS3 slim at auction a few months ago, definitely lots of cool things out there for them nowadays.

clownstrikelol··on AWS says it can't restore some data from mideast facilities struck by Iran
You mean the same people who were told to keep the hostages until after Reagan got elected?

The same people who bought weapons sold by the Reagan administration to fund the Sandistas?

That’s some revisionist history you’ve got there.

clownstrikelol··on Original Sony PlayStation 2 security chip 'broken wide open' after 26 years
PS3 has been jailbroken since 2010 (remember geohot?)

The original fat PS3 and the first few years of slims are also completely “open” as well (with custom firmware that’s fairly easy to install).

If anything, the PS3 was easier to break its security on.

clownstrikelol··on An open DNS recursive service for free security and high privacy
Can also have unbound preemptively refresh cached values too...

    prefetch: yes
Tada, now your unbound serves records faster than the round trip out to anything off your own network in most cases.
clownstrikelol··on Who Should Pay for Source Code Availability?
If it’s something you truly care about, you should host a mirror of it yourself. Whether anyone else uses your mirror is irrelevant, the mirror is first and foremost for you.

This does mean you’ll need to run your own server somewhere for the purposes of that mirror, but Gitea, Forgejo, or heck, even a cronjob that runs git is easy to setup. You don’t need your own mirror to be internet accessible, but you do need your own mirror.

If you truly care about it, mirror it, and be in control of your own destiny.

clownstrikelol··on Nashville uses eminent domain to block data center near zoo
“The party told you to reject the evidence of your eyes and ears. It was their final, most essential command.”

The evidence of corruption is blatant and obvious, a recent notable example has to do with a pool and its failure to be painted appropriately to the tune of $millions.

There are also immeasurable examples of campaign finance law violations (or “Hollywood accounting”) to effectively “legally bribe” politicians.

It’s zero stretch of the imagination that if the politicians are this blatant with what we can see with our own eyes, that there is significantly more sinister activities that happen in the “darkness.”

The corruption of the Federal (and many local) Government has become so blatant and in the open that it has become nearly impossible to trust that it isn’t corrupt to its core.

So sure, stand on a high horse and demand evidence for every statement as society is actively crumbling in front of you.

The problem with “high road” mentality here is that it is not followed by those who are dragging us down, and the bar of needing to provide evidence beyond a reasonable doubt takes such high levels of effort to achieve, that it is impossible to counteract the blatant corruption with the same velocity.

It’s the paradox of tolerance, generalized.

clownstrikelol··on Meta reuses old RAM in new servers with custom bridge chip
When’s the last time you have?

Up until the end of the DOS era computers booted nearly instantly, doubly so if their OS was in ROM.

It was the heavy GUI systems that came around that made boot times quite slow.

There’s not a single modern computer that is ready for input as quickly as an Apple 2...

clownstrikelol··on Deno Desktop
In WinForms?

Is that supposed to be a challenge?

WinForms is incredibly easy and simple to use...

Doesn’t mean you should use it for new things in 2026, but for building a chat app with? Yeah, it’d be very easy.

I’d know, because I’ve done it (granted it was over 15 years ago at this point, but I’ve done it). Was used internally, with a PHP backend. Worked great!

clownstrikelol··on High-Level Rust: Getting 80% of the Benefits with 20% of the Pain
That’s barely scratching the surface.

In TypeScript the following is also valid:

class Something{

    value: Number
}

class SomethingElse{

    value: Number

    foo: String

    bar: SomeOtherThing[]
}

function AddSomething(v: Something)

{

    v.value += 1;
}

var ex = new SomethingElse{

    value: 3,

    foo: “TypeScript is fake types”,

    bar: []
};

AddSomething(ex);

Why does it work? Because in TypeScript as long as you have a “shape” that fits, it’s the “same type.”

Complete and utter insanity to me, to pretend there’s any real type checking, when types are entirely fake and made up.

clownstrikelol··on Bitcoin miner purchases 112-megawatt North Texas wind farm
Id be quite interested in speaking with him.

Ive spent years in construction and built out quite large projects.

What’s the best way to contact you?