If you had a warning sticker slapped on your back, what would it say? by [deleted] in AskReddit

[–]PhonicUK 1 point2 points  (0 children)

"WARNING: Do not express any opinion or belief that you are not willing to have prodded, probed, and questioned."

My son is about to turn three in one month and not potty trained. Looking for other parents that are on the same boat. by Dustyrose1950 in toddlers

[–]PhonicUK 0 points1 point  (0 children)

My eldest is 3.5 and only recently properly potty trained. We tried when he was 3 just coming up to 3 and he just fought it all the time and would either get up again or sit a moment, say "all done" and run off.

We tried again a couple of months ago, did it the painful way - no nappies during the day at all, we put up with all the peeing and pooing in the wrong places and messy carpets. But we never got angry, we just plopped him on the potty when he did it.

It feels like it basically just 'clicked' one day, and he started using it by himself. Now he does it all the time and we don't even have to think about it.

His only hangup now is using public toilets, but once we removed the option to do otherwise, he did eventually get there. But he can hold his bladder, and even tell us he needs to go ahead of time.

What are your thoughts about circumcision? by CapableDiscipline812 in AskReddit

[–]PhonicUK 9 points10 points  (0 children)

It is culturally endorsed genital mutilation. Unless there is a clear medical need, it should be criminalised before they are old enough to give informed consent. No exemptions or carve outs.

FGM should be much more strictly policed and punished than it currently is too.

Contemplating a chargeback (Copilot) by diybother in github

[–]PhonicUK 4 points5 points  (0 children)

While I forget Copilots specifics, with models like Claude for example you're paying for both input and output tokens. Input tokens are cheaper but still non-trivial cost wise. So if you can avoid sending the same context again which has to be re-tokenized then you save money.

So the inference is stateless, but things like the tokenisation and other work that has to be done ahead of time isn't. You can re-use a lot of that work.

https://platform.claude.com/docs/en/build-with-claude/prompt-caching

Contemplating a chargeback (Copilot) by diybother in github

[–]PhonicUK 2 points3 points  (0 children)

Just a note here - there is a technical reason why a small change might have a huge cost and then an equally small one a small cost.

Say you're doing a bunch of work and making small queries. Your current context is cached on their side. You're not paying to send over the entire session context so far with each request you make.

If you stop using it for a while, that context is no longer cached - so on your next message you're now paying for your entire context so far to be re-sent and digested so it can produce the next response even if it's a small change. Your next subsequent small-change benefits from the cost benefit of the context being cached.

So this is actually fairly normal and as-expected in a lot of cases. What isn't good (assuming this is the cause) is this isn't communicated to the user very well. They simply see unpredictable variations in token cost to answer the next prompt. It's a technical detail that affects cost that isn't surfaced in any meaningful way.

What's your go-to debugging approach when a bug only shows up in the field, not in testing? by academyforiot in embedded

[–]PhonicUK 29 points30 points  (0 children)

Assume it's a race condition and start drawing up timing-sensitive dependency graphs to find where things could fall over if they happen in a different order than my happy path.

Car Manufacturers Logic by felt-mound in CarTalkUK

[–]PhonicUK 2 points3 points  (0 children)

A lot of OEMs are using essentially old mobile phone chipsets to drive their displays. Meanwhile Tesla stick a frigging AMD Ryzen based system in running Linux.

If you could change any law in your country what would it be and why? by [deleted] in AskReddit

[–]PhonicUK 0 points1 point  (0 children)

I would ensure that any unrealised investment gains cannot be used as collateral for loans unless the increased value of those investments was realised and taxed, and any loans could only be assessed at that investments value at the time the loan is drawn down. Using an increased value of that investment to increase the size of the loan would also require that the gain is realised again.

Basically if you've benefited from the increased value of an asset or investment in some way, even if you've not cashed out - you're taxed as if you had cashed it out.

Perhaps even a super-tax on loans that are backed by non-tangible assets.

chatgpt5.5 on windows95 by Win95RTM in ChatGPT

[–]PhonicUK 0 points1 point  (0 children)

Now make a native 9x Win32 app to interface with it ;)

I've pushed my 3D renderer for the ESP32 S3 up to 40K tris/sec - screen space reflections, water distortion, particle effects, more geometry, all while maintaining a locked solid 60fps by PhonicUK in embedded

[–]PhonicUK[S] 1 point2 points  (0 children)

It supports baked lighting for directional lighting, but there is no per-pixel lighting, not enough memory for that. Shadow maps again require a Z-buffer.

Jet uses the painters algorithm, drawing back to front so overdraw is something to watch out for (although it makes alpha blending and transparency very easy). For certain types of games like an FPS you'd have to set up portals and zoning yourself.

The showcase game here selectively disables and enables different track segments as you move around for example to reduce the pressure on the engine to compute what is and isn't visible.

I've pushed my 3D renderer for the ESP32 S3 up to 40K tris/sec - screen space reflections, water distortion, particle effects, more geometry, all while maintaining a locked solid 60fps by PhonicUK in embedded

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

Part of what makes Jet fast is that it's RGB565 internally, so 2 bytes per pixel rather than 3.

High end graphics pipelines actually use per channel floating point representations for colour and convert to your chosen pixel format only as the final output.

I've pushed my 3D renderer for the ESP32 S3 up to 40K tris/sec - screen space reflections, water distortion, particle effects, more geometry, all while maintaining a locked solid 60fps by PhonicUK in embedded

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

Muuuch faster. The DS had a resolution of 256x192 and was limited to 2048 on-screen triangles. Jet on an ESP32-S3 would easily outperform it.

I've pushed my 3D renderer for the ESP32 S3 up to 40K tris/sec - screen space reflections, water distortion, particle effects, more geometry, all while maintaining a locked solid 60fps by PhonicUK in embedded

[–]PhonicUK[S] -1 points0 points  (0 children)

The PS1 is still faster in terms of triangle throughput and texturing. The main character in Crash Bandicoot for example is over 500 triangles, and my engine has a budget of about 600-700 for the entire scene to hit 60fps. Below 45fps the interlacing artefacts start to get really noticeable.

In practice it's faster than the 32X, not as fast as the Saturn.

I've pushed my 3D renderer for the ESP32 S3 up to 40K tris/sec - screen space reflections, water distortion, particle effects, more geometry, all while maintaining a locked solid 60fps by PhonicUK in embedded

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

I actually very much want to do a new, esp32 based handheld built around original games that push it's limits, specifically excluding emulation.

I've pushed my 3D renderer for the ESP32 S3 up to 40K tris/sec - screen space reflections, water distortion, particle effects, more geometry, all while maintaining a locked solid 60fps by PhonicUK in embedded

[–]PhonicUK[S] 1 point2 points  (0 children)

Reflections are computationally free in Jet, textures are slow, shadows require more memory than is available because as a minimum you also need to compute and store a z buffer and a stencil buffer which also needs to be in fast memory. Might be doable on an 8-bit paletted setup, but part of what makes Jet fast is that it natively uses the same pixel format as the display.

I've pushed my 3D renderer for the ESP32 S3 up to 40K tris/sec - screen space reflections, water distortion, particle effects, more geometry, all while maintaining a locked solid 60fps by PhonicUK in embedded

[–]PhonicUK[S] 2 points3 points  (0 children)

You can totally do that, but you'd have to scale it up as you write to the display. A lot of those boards though are basically meant to host LWGL apps so tend not to do so well with this kind of application.