u/Zeeterm

9,358 post karma · 134.7k comment karma · joined Mar 2013

Zeeterm

Saw a headline on the guardian about some TV show letting them know that defence is a bit underfunded. Good to know we're still running the country via television dramas.

Zeeterm

It was absolutely dire in the early 2000's peak MSDN era, where you'd basically get generated API docs, which were useless unless you already knew how to use and understand the APIs.

But then the docs got really good about a decade or so ago, but now they're going back to the bad old days.

Zeeterm

Likewise, my favourite restaurant in Stevenage.

Zeeterm

The guardian campaigning against data centres being built on the basis of carbon footprint, comparing it to "27k flights to NYC".

Great, and how many actual flights does it prevent to have reliable telecommunications?

It's so short sighted to campaign against infrastructure.

Zeeterm

Post Brexit it seems to have gone back that way too.

Zeeterm

The emergency system wasn't designed for "Cost effective government".

Who knows how many lives this costs if people don't respond properly to a real emergency warning.

This system is designed so it can be triggered down to the individual cell tower. It could easily have been far more targeted.

People aren't complaining because of "10 seconds of discomfort", they're complaining because it undermines the emergency alert system.

"We really need to get this message out" is not proper use. The government could have done an emergency TV & radio address like during COVID. Plenty of people still watch TV when it's briefed to the media that something important is happening.

Zeeterm

There is a difference between urgency and importance. This wasn't urgent, no matter how important.

Emergency alerts should be reserved for messages that are both urgent and important.

Zeeterm

Trimps.

I've bounced off it several times before, but somehow it finally clicked this time.

Zeeterm

£100 minus VAT is £83.33, not £80.

£74.12 plus VAT would be £88.94, so yeah, £100 is a lot more than that.

Zeeterm

https://www.theguardian.com/sport/2026/jul/31/uk-female-chess-team-league-rule-men-join-sport

I'm not sure what to make of this one, it is clear a well intentioned rule has a downside, but I'm not sure the headline "fury" is justified. What is their suggestion?

Zeeterm

There used to be, it was removed post-brexit.

Zeeterm

Not previously, the conservatives even scrapped the rule that the job had to be advertised locally and a lack of skilled locals demonstrated.

Hence why lots of pizza / kebab shops hired "skilled" chefs.

I'm reality it's exactly the kind of unskilled / semi-skilled work we should be training people on the job to do.

Zeeterm

Some of this is partly the way it's aggregated the data, if you zoom in one more level it doesn't seem worse than the centre: https://ibb.co/YBXSkpMC

Zeeterm

Oh right, then yes, that is definitely somewhere it might be picking sub-optimal choices, it's worth exploring whether there is control over it, because in particular sint32 over int32 can be a big improvement if you're dealing with negative numbers and particularly ones small in magnitude.

e.g. The value -1 uses the full 5 bytes when encoded as int32, whereas in sint32, it is a single byte, due to what's known as zig-zag encoding.

Both of those are variable length encodings, but one is significantly better when dealing with small negative numbers. This can matter even more if, for example, rather than delivering a load of values, you deliver a value around the mean and then a bunch of offsets, which is another trick ( among many ) to reducing encoding size without going straight to compression.

In general though, you're probably best off checking appropriate use of whether signed or unsigned values are used, and whether your data is every really negative. The fixed vs variable length is more of an academic factor.

Zeeterm

In which context do you mean, "seems to use the variable types for everything"?

The types should be defined by your `.proto`, since the wire-format is fixed exactly by the specification: https://protobuf.dev/programming-guides/proto3/#scalar

This means that if you specify `uint32` ( or `int32` ) in your proto, then you will get variable length encoding. Depending on your application and the typical values you send, this can be an advantage, there can be big savings if you are frequently sending small positive integers.

But if your data looks more like random data, then there is a significant overhead that isn't well documented, and that's a pitfall I wanted to highlight in this post. The proto spec is just low level enough that you have to consider the appropriate data type and can't leave it up to a library to "optimise away".

In addition, the spec does not determine the actual encoding and decoding process, just the wire formats, so there is a difference between different languages and libraries. For example I found the most popular Rust library "tokio/prost" is missing a lot of optimisation too, while the less popular `protobuf` crate is more optimised in this specific regard.

Zeeterm

Yes exactly, there's a bunch of extra work with varint that is down to the codec rather than the protocol per se, so the protocol docs don't cover it.

Zeeterm

We're here! No embarrassment necessary.

It's actually a good niche, I'm pretty sure if needed I could consult doing Framework to dotnet migration.

There is a bunch of non-obvious differences now too, especially in performance, and the LLMs take too many shortcuts to do it meaningfully ( at least for now!).

Zeeterm

plis fix

Well done for asking, GGG wouldn't fix this without someone asking.

Zeeterm

I don't think anyone was expecting evidence led policy, but I'd have thought "rent control" was particularly notorious for not being effective.

Zeeterm

In this form it's hard to see that not happening.

Zeeterm

Which way are we headed you reckon?

The future (Tory fantasy edition ):

Mid September,  things haven't noticably improved, parliament deadlocked by labours own back-bench MPs, resignations start, no obvious successor, rumours of splits, things fall apart, general election called for March 2027 in a misguided attempt to take back control of his own party. Reform/restore vote splits and somehow Tories scrape a serviceable but narrow majority.

Alternatively, the future ( labour fantasy edition):

Mahmood's immigration reforms start to pay dividends, workers wages continue to beat inflation, consumer confidence returns, Burnham gets fiscal headroom to invest in infrastructure, planning guidance is issued to unblock investment into power infrastructure, data centres get built, energy bills come down as we end our reliance on gas generation. Burnham re-elected as a landslide and goes on to be the longest serving PM delivering a new age of stability.

Zeeterm

My mind is blanking on the blokes name right now, but I'm fairly sure there's an entire book written by a former prisons minister which is along the lines of "politics is fucked and nothing can get done".

Zeeterm

I misunderstood this feature, I thought it was for a stats comparison, I hadn't spotted it was actually switching! I'm in complete agreement then.

Zeeterm

I think what they're saying is that if you swap R-B forB-R then you might see a change as the gems are now in the wrong colour slots, there's an implied re-ordering which a player would do.

You could try to accommodate for that, but that's not a simple algorithm either, you might have to choose which gem loses a bonus and there's no deterministic way to do that.

Zeeterm

Reassuring that it's still humans writing these to be honest!