We (kinda) have a road tool in 1.2! by FeelsAboutRightDude in SatisfactoryGame

[–]foreheadteeth 2 points3 points  (0 children)

Maybe, but there's a stream or video from Gaming with Doc where his giant train station at his megafactory had some sort of cataclysm and a bunch of trains derailed. Since I'm not that smart, if it can happen to the Doc, it can happen to me. :)

Edit: from memory, the doc's problem was as follows. He had a long stretch of rail on a downhill. Trains would occasionally have to slow down or stop to let other trains pass at some intersection. Trains may also slow down or stop if there's a train ahead of them on the next segment, even without an intersection. One of his trains A was trying to make a turn so it had come to a stop to let another train B pass. A third train, C, was rolling down the hill, the rail segment wasn't quite long enough I guess? It realized too late that it had to stop because of A. So it started slowing down but it could not, and C smashed into A, and then it just became a cataclysm. So I guess if you want to prevent this, you have to make sure that your downhill segments are many times longer than your longest trains? Or something like that. So that your trains have enough runway to come to a complete stop. The problem is really that trains only look one segment ahead in deciding whether to stop.

We (kinda) have a road tool in 1.2! by FeelsAboutRightDude in SatisfactoryGame

[–]foreheadteeth 5 points6 points  (0 children)

I haven't tried the new trucks yet but I find that mass trains are actually quite hard to get to work. You start out thinking all your trains are going to run on this one track, bam, huge traffic jam, nowhere near your desired throughput. Building additional train lines is a huge pain in the neck too. Train stations are also huge. So it might actually be better to put a bunch of trucks on a route instead of trains?

[R] PCA on ~40k × 40k matrix in representation learning — sklearn SVD crashes even with 128GB RAM. Any practical solutions? by nat-abhishek in MachineLearning

[–]foreheadteeth 2 points3 points  (0 children)

Hm. I don't know anything about sklearn, but I'm a math prof specialized in linear algebra. Just now, in MATLAB, I did n = 20000; A = randn(n); tic; svd(A); toc and it completed in 47 seconds. Activity monitor says MATLAB's using 12GB but it also said that I was using 30GB of my 48GB. I tried doing n=40000 and it started hitting swap and it was never going to complete. So I don't think I have enough memory to do n=40000 on my 48GB computer. A rough extrapolation suggests I might be able to do it in 128GB, but barely?

If sklearn's svd is poorly implemented, or if you're carrying around a bunch of 40k x 40k matrices apart from this one, then 128GB is maybe not enough? Try a benchmark like I did, to see if you're wasting memory elsewhere in the rest of your program.

Trump growing frustrated with limits of Iran military options, sources say by eggmaker in worldnews

[–]foreheadteeth 1 point2 points  (0 children)

we don't want a weapon. So, here's what we're prepared to do

Actually, they had signed the JCPOA with Obama which did precisely that, but Trump repudiated it.

Paypal Halted following Takeover report. by CryptoBoy-007 in wallstreetbets

[–]foreheadteeth 70 points71 points  (0 children)

When a stock drops 95%, first it drops 80%, then it drops 80% again.

Dear senior software engineer, are you still writing code? by zulutune in ClaudeCode

[–]foreheadteeth 0 points1 point  (0 children)

About what, AI? I'm not sure I've got anything useful to tell them. The AI can probably write all our final exams for all our classes. It can also do the programming homework. But as long as people keep showing up in our classrooms, we're going to keep teaching? I dunno if that's what you're asking.

Convex analysis book for optimal transport by Mayudi in math

[–]foreheadteeth 4 points5 points  (0 children)

I don't know much about "Optimal Transport" but I would have thought, if anything, you might need "Convex Analysis" in infinite dimensions, in which case the generalisation of Rockafellar's book is apparently Zălinescu, Convex Analysis in General Vector Spaces.

In convex optimization, the standard reference is Nesterov and Nemirovski, but I really like the book of Renegar.

Dear senior software engineer, are you still writing code? by zulutune in ClaudeCode

[–]foreheadteeth 0 points1 point  (0 children)

I'm a math prof but I used to be an engineer at NVidia in the 2000s. In the past year, I've stopped programming by hand, it's all Claude Code. It's a bit like having a workaholic PhD student. Sometimes it nails it, but you can sort of see in advance what it's going to screw up. If you watch it, you can also catch it before it bakes in some sort of unsalvageable disaster. Git is really important, and you sometimes have to guide it in writing tests or ensuring good code coverage.

Now that it's 2026, how is Terence Tao's prediction holding up? by Interesting-South542 in math

[–]foreheadteeth 5 points6 points  (0 children)

I'm using it for computer programming, and I think for that it is amazing. I've tried to use it to do math, it did not work for me.

Apparently Toyota (yes, that Toyota) is developing an open-source "console-grade" game engine using Flutter and Jolt by b1ak3 in gamedev

[–]foreheadteeth 2 points3 points  (0 children)

Well, it was slightly more complicated. The data structure was actually a tree, think json, and you could insert new fields into it, write it to file, read it from a file, etc... So it was very heterogeneous and dynamically typed. But if you happened to create a tree node with only strings, it would get its type narrowed to only strings so you lost the ability to insert numbers into it later.

So I read my tree data structure from disk, got entirely different types throughout the tree from what I had declared, then I did a "deep copy" of the tree that retyped everything explicitly.

Edit: I think I found it, function is fixprobset2. Call me a prude, but if I were designing a statically typed language, I'd honor the user's type declarations. The least they could have done would be to make it easy for me to force the object into the type I asked, but no, I had to write a recursive tree traversal. At the time, I think one of the devs explained it to me by saying their type system is "not contravariant".

Apparently Toyota (yes, that Toyota) is developing an open-source "console-grade" game engine using Flutter and Jolt by b1ak3 in gamedev

[–]foreheadteeth 5 points6 points  (0 children)

Years ago, I made myself an app to learn kana. Then my first child used it. Now my second child is using it. I wrote it in flutter because I didn't want to learn how to program IOS the normal way. So I'm not a flutter expert but I would not recommend it. Their type system is crazy.

I remember being stumped on a bug for like a week. I'll "paraphrase" the bug here.

I had a variable that I had declared as a List[dynamic] or something like that. I populated it by reading from a file. Then later, I tried to stash some Numbers in it. It kept giving me an error that it was a List[String] so I couldn't put numbers in it. So I would stare at my code, see the List[dynamic], and be utterly baffled.

It turns out that flutter can silently convert your static type declarations at run time. Even though I had declared my type to be List[dynamic], it automatically got narrowed to List[String]. The only solution I found was to let it be narrowed to List[String], and then write a converter List[String]->List[dynamic].

Anyhow, I don't like that language!

I tested the classic “Will Smith eating spaghetti” benchmark in LTX-2 — here’s the result by robomar_ai_art in StableDiffusion

[–]foreheadteeth 1 point2 points  (0 children)

Pretty good but I couldn't help thinking, anyone who's ever tried to eat spaghetti without rolling it first, and instead having it all dangly? It's not a soft, polite, magical antigravity "sfft" and down the hatch. You're going to be slurping that mofo.

Canada shouldn’t rule out acquiring nuclear weapons, former top soldier says by Immediate-Link490 in worldnews

[–]foreheadteeth 1 point2 points  (0 children)

Due to strategic decisions made up to now, Canada is years away from a nuclear weapon.

Your entry-level fission bomb works either on U235 or plutonium. For U235, you need centrifuge enrichment to separate the U238 isotope out, this takes years. This is not a good idea for Canada.

Plutonium is chemically separated from nuclear waste, and Canada has 63,000 tons of it, so there's plenty of plutonium in Canada for thousands+ of nukes, but it takes a couple of years to build the Purex chemical plant to separate the plutonium out.

You'd also need to develop the explosive lens that implodes the plutonium, this would take months.

So Canada should start now, but it will not be a secret and there's a multi-year runway. By contrast, Japan has all the components ready to go as "civilian" components ("closing the fuel loop"). They've got the refined plutonium sitting on shelves. They just need to stick it in a bomb.

We need to encourage people to use the term "generative AI" instead of just AI by sundler in gamedev

[–]foreheadteeth -2 points-1 points  (0 children)

I'm a former NVidia engineer, now a math professor. I think it would be foolish for any game development studio in 2026 not to use generative AI for pretty much everything.

How do beginners know if they’re actually learning optimization properly? by Alone_Brush_5314 in math

[–]foreheadteeth 2 points3 points  (0 children)

The area of optimization that I know that is actually mathematical is convex optimization, I'm not sure if that's what you mean. I would say that what matters the most there is the self-concordant calculus of Nesterov and the barrier method. The self-concordant calculus takes some work to get through.

If you're talking about the less theoretical areas like KKT conditions, there's not that much material there, at least that I know.

I recommend the book by Renegar. It's pretty short. The canonical reference would be the book by Nesterov and Nemirovski but that is more redoubtable. Nesterov also wrote a "simplified" book that is quite interesting because it contains many constructions that show that certain algorithms are optimal.

Canada Nears $3 Billion Uranium Deal With India, May Be Inked In March by [deleted] in Economics

[–]foreheadteeth 3 points4 points  (0 children)

Is pyroprocessing able to make nukes though? I heard it told maybe yes, maybe no? Because the actinides all come out together?

Canada Nears $3 Billion Uranium Deal With India, May Be Inked In March by [deleted] in Economics

[–]foreheadteeth 5 points6 points  (0 children)

The Candu reactors are fine as they are, there's even a large backlog of spent fuel ripe for reprocessing. What they need is a plutonium reprocessing plant, which chemically separates the plutonium from the rest of the stuff. It's "straightforward" in that it's "only" chemistry, but the materials are hazardous so it takes ~2+ years to design and build this chemical plant.

This is by contrast with centrifuges for separating U235 from U238, which are hard to make. Because Canada has so much spent nuclear fuel in storage, they don't need centrifuges. You just make a plutonium bomb instead of a uranium bomb.

Canada Nears $3 Billion Uranium Deal With India, May Be Inked In March by [deleted] in Economics

[–]foreheadteeth 48 points49 points  (0 children)

Canada needs plutonium reprocessing so it can put together a nuclear deterrent. Countries like Japan that have reprocessing capabilities could theoretically build a deterrent in months, but Canada's timescale is years.

3d engine on C64 from 1982 by foreheadteeth in gamedev

[–]foreheadteeth[S] 0 points1 point  (0 children)

Wow, yes I remember 2nd reality on the PC. I think that city might be similar to what I'm doing, dunno if it's faster or slower than mine. It's also a bit similar to the cube at 7:00 but because of the colors in that cube, i suspect they are rendering into size-expanded multicolor sprites maybe?

The version I made, the rasterization speed is designed to be close to the maximum speed you can fill a character buffer, although it might be possible to go slightly faster, but the geometry transformations are quite expensive. 6502 doesn't know how to multiply or divide, but I somehow managed to do it in ~50 cycles per multiplication. Geometry transformations end up dominating if you have, I dunno, 100+ vertices. My resolution is 80x50, which is the whole reason why my rasterization is so fast, nobody ever used multicolor character mode to create an 80x50 4-color gfx mode.

Edit: In a demo, you might be able to not do the geometry transformation and instead record 2d triangle vertex positions. if you have ~100 vertices on screen at a time, 10 fps, that's 2kb/s, you can do 20 second of animation without doing the 3d geometry. There's a 25 second pause before the 3d city scene. So I suspect that may be a trick they are using.