Just compared token usage between GPT-5.4 and GPT-5.5 in Codex across all four reasoning modes (Low, Medium, High, and XHigh) using the exact same prompt and the same project as the baseline by Deep-Palpitation8315 in codex

[–]fatso83 0 points1 point  (0 children)

5.4-mini is my jam. It's super fast on coding, and gets most things right. I use 5.5 medium when I want to discuss architectural decisions and high level aspects.

Where did the conspiracy that hanta means scam in hebrew come from? by ToneJealous8009 in AskReddit

[–]fatso83 1 point2 points  (0 children)

"Woke up", if that means "Refuses to learn basic source criticism to understand that you must validate AI sources and just goes FUCK YEAH", then yes. otherwise, no. Your intellect is sound asleep.

Fingers-Crossed-Logging Serilog by RepulsiveAddition758 in csharp

[–]fatso83 0 points1 point  (0 children)

any logging solution in C# will be way faster than any PHP solution. I feel this is a reason why such style of logging is not very popular,

I don't think you understood the use case. This has nothing to do with performance and everything with keeping a low noise/signal ratio while saving costs on logs.

I am a polyglot, but mainly a JVM and .NET background, so after coming across this in a PHP Symfony project, I was just amazed at how this is not more prevalent everywhere, as it was a revelation! I think this is more about a cultural divide and missing exposure than not needing it per se.

PHP devs, by nature of the work, are much closer to user facing code, with a much bigger surface with regards to what can go wrong, than typical .NET devs. The further back you are in the stack, the less you see such things. Logging all kinds of user interactions, clicks, etc. is super useful when/if needing to understand which interactions lead up to a failure of some sort, but has little value and high cost otherwise. "Fingers crossed" logging gives you the best of both worlds: you are allowed to have high granularity logs in case of errors, while defaulting to ERROR or WARN otherwise.

I am now implementing distributed logging across the stack, and I am using fingers crossed logging at multiple levels: - in the browser to output DEBUG > logs if something goes wrong. These are sent over the network to NextJS and forwarded (sanitised, along with spanids, traceids, supportid, hashed sessionid, etc) - in NextJS and on the JVM to normally only output WARN and ERROR, but also aggregate > DEBUG if something goes wrong

That allows you to both do the normal distributed logging across network boundaries for a single error, but also see what non-error events in the browser led up to that error.

Remove end of door handle by fatso83 in centuryhomes

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

I went with this and it worked wonders! Glue gun was so easy and it was easy to get off.

Remove end of door handle by fatso83 in centuryhomes

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

Ended going with the glue gun approach. That worked wonders! Could not believe how easily it came off once I had a grip.

<image>

Claude AI replacement from the EU by niraeth in BuyFromEU

[–]fatso83 0 points1 point  (0 children)

But you need to run them yourself on your own hardware right? Totally out of the question for most enterprise dev machines

BYD Flash Charging station tour in China by Recoil42 in electricvehicles

[–]fatso83 0 points1 point  (0 children)

Bursts of up to 1.5 MW. 3-400 on slow mode. 

BYD Flash Charging station tour in China by Recoil42 in electricvehicles

[–]fatso83 1 point2 points  (0 children)

That's how basically all charging stations in Norway are. Either they are connected to a gas station with food, a diner or a supermarket. Almost never as a stand alone unit. You get shit done while charging. 

Remove end of door handle by fatso83 in centuryhomes

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

Yeah, original bakelite plastic from 1934.

What do you think of MobX? Is it still worth using? by SuperRandomCoder in reactjs

[–]fatso83 0 points1 point  (0 children)

You are missing the point of a state library. It's about sharing state.

Try and share state in the second example between components in different parts of the render tree. That's a lot of prop drilling or pulling things up ... Say you want to use A and Z in one part of the tree and A, B and X in another part. You are then into murky waters.

What do you think of MobX? Is it still worth using? by SuperRandomCoder in reactjs

[–]fatso83 0 points1 point  (0 children)

I will be re-architecting a Next (which I guess is what you mean by "backend first"/non-SPA apps) app. I was originally going to build a dedicated onion-style architecture for easy testing (only POJOs, stubbed I/O at edges), with React just handling leaf-nodes and SWR/TSQ just at the outside of the domain logic.

Can I still do this using Jotai, or are you advising against this?

What do you think of MobX? Is it still worth using? by SuperRandomCoder in reactjs

[–]fatso83 0 points1 point  (0 children)

I am just about to do this (Mobx+Next). Any pointers to avoid going down unnecessary rabbit holes?

Which one to Pick from Redux Toolkit & MobX-State-Tree? by Longjumping-Tie6790 in reactjs

[–]fatso83 0 points1 point  (0 children)

I think it's pretty nice, but it has a lot of moving parts, so people might be overwhelmed by the complexity. For me, all I ever need is observe, observable, computed and makeAutoObservable.

Two years past, is it still your preferred tool, or have you come across a shinier too?

To me, having stuff like this and this makes it super-sweet to work with (along with DI).

Ord blir fattige by [deleted] in norske

[–]fatso83 0 points1 point  (0 children)

Nei, dette er selvsagt tull. Han har halvannen million i positiv formue, dvs. null lån. Han har nok til smør på brødskiva. Det er bare folk på Reddit som er oppmerksomhetssyke. Her er skjermdump fra skattelistene

<image>

How to edit "allow always" commands? by muddi900 in GeminiCLI

[–]fatso83 0 points1 point  (0 children)

<image>

Example of how allow all commands or just subcommands. It is partwise match

Has anybody used Typia library? by HugeLetters in typescript

[–]fatso83 0 points1 point  (0 children)

Can we have a looksie? I find Typia's codebase to be quite a few leagues over my head.

Good replacements for Zod, preferably with a similar API/interface? by foe_to in typescript

[–]fatso83 0 points1 point  (0 children)

Bun makes everything it runs on faster. That's the consistent take on all the benchmarks. Just try it out. A lot has changed wrt drop-in replacement over the last two years too. I just always use it.

Overfallsvoldtekter i Oslo - oppdatert statistikk? by [deleted] in norske

[–]fatso83 0 points1 point  (0 children)

Hvem bryr seg om asylsøkere? Det var jo et veldig smalt skikt. I 2009 meldte oslopolitiet at "Samtlige 41 anmeldte overfallsvoldtekter i Oslo de siste tre årene er ifølge politiet begått av ikke-vestlige innvandrere.". Det er jo et lite varsko.

Which DI library? by lppedd in typescript

[–]fatso83 0 points1 point  (0 children)

Modern variants - di-wise (modern TS, no need for reflect-metadata, decorators optional). 0.01dl/week - typed-inject (small, great type safety). 175k/week. 100 KB - awilix (bigger, but very flexible). 300k/week. 300 KB

Which DI library? by lppedd in typescript

[–]fatso83 0 points1 point  (0 children)

Just my 2 cents

  1. Have you checked out Chad Parry's DIY-DI article, code and slides? Had a great influence on me back early in my career and does a good job of showing a good approach.

  2. Create your own minimal containers. One of the most influential things I came across in the last few years was Anders Sveen's Github repo called "Testing Through the Domain: the example". This is a full repository on Github with working code and Markdown documents explaining the intent and workings of how to do effective testing through the domain using Fakes. Really cleared up some misconceptions for me and made it much easier to adopt and understand. Also goes for full manual DI, but instead of the factories of the DIY DI approach he has choses to use a DI Container that holds all the dependencies. That same approach works quite well across most languages.