HNHacker News
TopNewBestAskShowJobs

gbuk2013

1,211 karma · joined December 23, 2013

comrade/comrade

IN is the only way OUT - https://www.amazon.co.uk/Inner-Engineering-Yogis-Guide-Joy/dp/0143428845/

submissionscomments
gbuk2013··on Exercise intensity modulates interorgan communication and is associated with
While there are infinite arguments to be made about individual diets, literally no one can do wrong by heavily cutting refined sugar intake.
gbuk2013··on U.S. used 'virtually all' of its long-range precision missiles during Iran war
> every living member of it's military, has never seen a single real battle

How I wish for a world where the same could be said for every other army!

gbuk2013··on New Framework Desktop Option with AMD Ryzen AI Max+ Pro 495 and 192GB Memory
I run Qwen3-Coder-Next-UD-Q4_K_XL and other than the initial wait to initialise context (which takes less than 2 minutes) subsequent prompts return in less than a minute, usually less than 30s.

If your performance is significantly slower then you are probably doing it in CPU - there was some fiddling required to get it to use GPU (I use llama.cpp)

gbuk2013··on 'VPNs are lawful technical tools,' says EU Court in landmark copyright ruling
Leaving aside the fact that there are not enough octogenarians in the Commons to pass any legislation, there’s no need to for ageist statements like that.
gbuk2013··on Developers don't understand CORS (2019)
Not really, more like succeed without having to do anything.

The key is the perspective of what success is: it’s the state where the resource does not exist, or is the action having deleted the resource. But 200/202 is perfectly capable of expressing the distinction in the latter case as well.

gbuk2013··on Developers don't understand CORS (2019)
> Then you'd return 202 on a request to delete any invalid element, which really doesn't sound right

It depends on your use-case if you care about this or not. If you do care you will have to handle it either way somehow.

But if you want an idempotent API then a success is more appropriate IMO than an error.

gbuk2013··on Developers don't understand CORS (2019)
Response is implementation detail: a 404 on second request is one way to do it, a 202 would be another, or 200 with some sort of response to distinguish (e.g. { changed: boolean }).

Idempotency just means no state mutation on subsequent request.

gbuk2013··on Beyond All Reason (Free Total Annihilation Inspired RTS)
You’re right - it’s not a campaign as such - it’s a set of scenarios (currently 22) in increasing difficulty. I haven’t played for a while after getting stuck but checking now I got stuck on the 5th scenario - even worse than I thought. :)

I played Zero-K several years ago and it didn’t stick in my mind as much but maybe worth revisiting it - thanks!

Reading about it seems to suggest that it’s even deeper in terms of strategy and tactics so I will probably struggle even more. :(

gbuk2013··on Beyond All Reason (Free Total Annihilation Inspired RTS)
I used to play the original TA a lot and BAR is very well done. Much harder than the original though - I had no trouble with TA campaigns but I have not even made it halfway with BAR before hitting skill wall. Not a teen anymore so it’s hard to motivate myself to try and push through. :)
gbuk2013··on Making peace with your unlived dreams (2023)
Sound like it’s time for yoga :) https://m.youtube.com/watch?v=txNkzlJ0tc4
gbuk2013··on NPM packages from Red Hat have been compromised
I mean there’s nothing stopping you from committing node_modules to git (after running something like https://github.com/timoxley/cruft on it) and reviewing code changes on dependency updates.

I even managed to make that part of the workflow on one team I worked with but several other teams since thought it was a crazy idea. :)

gbuk2013··on Malicious npm packages detected across Red Hat Cloud Services
I came across this interesting rant the other day: https://github.com/uNetworking/uWebSockets.js/blob/master/mi...

It does make sense that the right way would be to fork every dependency you use and install from your own repo reviewing and merging from upstream as needed. Would be a giant PITA though. :)

gbuk2013··on Is Python Becoming Pinyin?
It’s not the async loop - it’s interfacing with the system. JS is designed to run in a sandbox and the only way out in say Node.js is to write C++ addons.

For example you don’t get to see TCP headers with Node out of the box and you can’t craft packets, whereas you can in Python.

gbuk2013··on Is Python Becoming Pinyin?
I am well aware it supports Linux but the vast majority of work still involves being in Windows-only shops which is a circle of hell I am keen to tread only when I absolutely have to. :)
gbuk2013··on Is Python Becoming Pinyin?
Sure but that runtime is much more general purpose - JS runtimes are focused on network apps. For example you can write an app like Calibre in Python and QT and it is much lighter than writing something with JS and Electron.

Python is easier to interface with C/C++ libs.

gbuk2013··on Is Python Becoming Pinyin?
I’m a JS/TS dev (and fan) I don’t think either is a replacement for Python. They are not standalone languages but require some runtime to interact with the world (DOM or Node.js etc) which have limited capabilities for interacting with the system - their focus is network services. It’s not that inaccurate to say that JS is just API for a C++ app. :)

Now if .NET was still not so embedded in the Windows ecosystem that would be very interesting to me to jump from TS. As it is I am learning Go instead.

gbuk2013··on Disagreement Among Frontier LLMs on Real-World Fact-Checks
An interesting tangent on this is: how many answers to these (or any number of factual questions) do you (as in anyone) actually know. Not believe you know, but actually know.

Knowing something is different to reading about something, or hearing something from someone. And yet this is often confused as knowledge. In this way are we all that different from AI - we have some data and we regurgitate it as knowledge. Bad data, wrong answer. Except humans can also throw in some emotion to really muddle things up. :)

gbuk2013··on Does anybody like React?
I led a project to (successfully) migrate a Vue 2 to 3 app and while that was painful and expensive, I still find Vue more pleasant to work with than React once it was done. But TBH depending one team code discipline either could be fine or a nightmare. :)
gbuk2013··on Why is it called Kent House?
Random indeed - I’m also just down the road. :)
gbuk2013··on DIY Soft Drinks
Me too except I just use rye malt instead of the bread and without making any dough with it. The malt is cheap and easy to get in UK thanks to home brewing suppliers whereas rye bread is super expensive.

My only challenge is controlling the gassiness - it’s so vigorous that the moment I even slightly open the cap the whole thing fizzes up like crazy - opening it normally would result in a kvass fountain shooting up like 30cm. :)

gbuk2013··on The best seat in town
If by tourist track you mean several cities each with a population count greater than London then sure. :) But it is true I was there as a tourist to see a few places and China is an absolutely huge place.

I wish the touristy places in the UK were as clean though.

Also, writing this comment on a crowded, dirty and smelly train from Gatwick Airport, which has 2 carriages inaccessible because of broken doors and crawling due to signal failure on the line, I already miss the clean and comfortable Chinese trains I was taking from place to place.

That said I do get to work 945 here for more money so I am grateful for this for sure. :)

gbuk2013··on The best seat in town
I’m currently travelling in China and the total absence of graffiti and the wide availability of public toilets as well as the general cleanliness of the place is a stark contrast to London. I am somewhat dreading that part when I return.
gbuk2013··on We moved Railway's frontend off Next.js. Builds went from 10+ mins to under 2
As someone who runs a such a VPS this is all a non-issue. Running HTTP service is so trivial that once I set it up I don’t even spend an hour in a year maintaining it. Especially with Caddy which takes care of all the certs for you.

And this is also bearing in mind that I complicate my setup a bit by running the different sites in docker containers with Caddy acting as a proxy.

With storage volumes for data and a few Bash scripts the whole server becomes throw-away that can be rebuilt in minutes if I really need to go there.

And for sure any difficulty and ops overhead pales in comparison to having to manage tooling and dependencies for a typical simple JS web-app. :)

gbuk2013··on Haunting Photos Show the Aftermath of the Kursk Submarine Disaster in 2000
From the article

> Analysts concluded that 23 sailors survived the initial blasts and took refuge in the small ninth compartment at the rear of the submarine.

> Evidence suggests they remained alive for more than six hours. When oxygen grew scarce, they attempted to replace a potassium superoxide chemical oxygen cartridge, but it fell into the oily seawater pooling on the floor and exploded on contact.

> The resulting fire killed several crew members and triggered a flash fire that consumed what remained of the oxygen, asphyxiating the last survivors.

That does not suggest a possibility of a foreign rescue vessel making it there in time.

gbuk2013··on You can't cancel a JavaScript promise (except sometimes you can)
It is a specialised instrument but a useful one: batch processing and query pagination are first class use cases for generators that can really simplify business logic code. Stream processing is another and in fact Node.js streams have had a generator API for several releases now.
gbuk2013··on The 49MB web page
I kid you not a few jobs ago I found several race conditions in my code and tests by running them at the same time as a multi threaded openssl burn test. :)
gbuk2013··on Relicensing with AI-Assisted Rewrite
That is a good question - my personal opinion is that it should mean that models are not subject to copyright at all (similar to databases) but we will see what the courts decide :)
gbuk2013··on Relicensing with AI-Assisted Rewrite
In mind, if you feed code into an AI model then the output is clearly a derivative work, with all the licensing implications. This seems objectively reasonable?
gbuk2013··on Hetzner Prices increase 30-40%
Right, this is what they said in the customer notification email I got today:

“The underlying causes of the increased costs are, among others, the exploding demand for AI-related computing power and for cloud services. In addition, raw material prices and production costs have also generally risen for manufacturers. The costs for RAM and SSDs especially have risen by a large amount. For example, the cost for DRAM memory has increased up to 500% since September 2025. And according to market researchers like TrendForce, this price trend will continue throughout the year.”

gbuk2013··on Why Your Load Balancer Still Sends Traffic to Dead Backends
I have to say I am not a fan of doing this on the client side.

API gateways (which is what server side load-balancer can be abstracted as) serve as important control points for service traffic, for example for auth, monitoring and observability, application firewall, rate limiting etc.

In my general experience code running on the client side is less reliable due to permutations of browsers, flaky networks, challenges with observability.

That said, client side already has one type of load balancing - DNS - but that doesn’t address the availability challenge.

Page 1 of 17Next →