HNHacker News
TopNewBestAskShowJobs

calpaterson

4,910 karma · joined May 6, 2008

meet.hn/city/fi-Helsinki

Socials: - github.com/calpaterson

---

https://calpaterson.com

cal - AT - calpaterson - DOT - com

submissionscomments
calpaterson··on Glasgow council four-day week on full pay moves closer after study agreed
It would need to be a 25% raise for 4 days of wages to be paid as 5.
calpaterson··on Does monitoring your phone affect the essence of privacy?
It is disputed. German judges have held that the answer is "no, the EU is not a state, just an transnational organisation" but the EU openly holds that the answer is "yes".

https://euobserver.com/opinion/152160

calpaterson··on Show HN: CSVBase – a website for hosting (smallish) data tables
There's no expiration time per se (though maybe that would be a nice feature at some point?).

Storage is very cheap at the host I'm using but maybe at some point I could track tables that aren't being used and (reversibly) archive then to S3 or something

calpaterson··on UST Stablecoin Loses Dollar Peg
You probably mean "The money machine: how the city works"

https://www.amazon.co.uk/Money-Machine-How-City-Works/dp/014...

I agree, it's a good intro. Covers insurance too.

calpaterson··on Show HN: CSVBase – a website for hosting (smallish) data tables
I'm on paternity leave at the moment, so, during naps, I have been working on this side-project: a kind of "github, but for data tables". The motivation is kind of twofold: I always wished there was a simple pastebin style thing where you could paste output from SQL queries (eg queries you run because someone asks you something on slack) and also I wish there that open data was in a more straightforward format when you find it on the web.

I like the fact that it's easy to load stuff into pandas:

    # same url as the table view page, http content negotiation magick
    import pandas; pandas.read_csv("https://csvbase.com/meripaterson/stock-exchanges")
    
Same goes for R and MS Excel (eg https://csvbase.com/meripaterson/stock-exchanges.xlsx )

Would love to hear opinions

EDIT: Ack, I meant to post the link to this demo: https://csvbase.com/meripaterson/stock-exchanges

calpaterson··on How we upgraded our 4TB Postgres database
PG is far behind SQL Server on ease of upgrade but the method described in this post is not the best practice right now, which I think is:

- physical restore to new cluster

- pg_upgrade the new cluster

- catch up on logical wal logs from old cluster

- failover to new cluster

- STONITH

I think the above was not open to them because of the limitations of their managed PG instance. I haven't used Azure but GCP managed SQL has loads of limitations. It seems very common and I think is a major (and undiscussed) drawback of these managed instance.

But the truth is that very few of the people who use PG want to hear that things are better in the MS SQL community for reasons of prejudice and as a result you're being downvoted unfairly for pointing out PGs relative backwardness here.

calpaterson··on Why the Gov.uk Design System team changed the input type for numbers (2020)
> you cannot bookmark the sign-in page [...]

It's quite well hidden but the link to sign straight in is here:

https://www.gov.uk/sign-in-childcare-account

You are absolutely on the mark regarding this service though. It's bananas.

calpaterson··on In defense of simple architectures
> GraphQL libraries weren’t great when we adopted GraphQL (the base Python library was a port of the Javascript one so not Pythonic, Graphene required a lot of boilerplate, Apollo-Android produced very poorly optimized code)

What do people use instead of Graphene? Strawberry?

calpaterson··on Is Google Analytics illegal in your country?
How do they decide to pick what towns to show in maps like this? Aberdeen is neither the capital not the largest town in Scotland and anyway is smaller than Cardiff which is the capital and largest town in Wales. Republic of Ireland doesn't get a single town but NI gets Belfast? There has to be a reasonable explanation, surely?
calpaterson··on Did Britain Ever Have a Revolutionary Moment?
Yes exactly. And those are less 'popular' than they seem. VI Lenin was not a prole nor were most of the Bolsheviks.

Historical communist revolutions (Russia, China) are pretty openly 'elite' led: by their respective communist parties. By comparison the civil war is a lot more 'popular' because it is much more of a mass movement against Stuart personal rule.

calpaterson··on BitTorrent v2 (2020)
> I think either they either don't know or don't care that their market share makes them an adoption blocker.

The truth seems to be that between 2014 and mid-2021 the "transmission dev team" was a single (probably part-time) maintainer:

https://github.com/transmission/transmission/graphs/contribu...

calpaterson··on Hetzner now provides IPv6 only dedicated servers
I always think that too many web servers have IPv4 addresses. People don't seem to realise that CDNs - which everyone surely runs behind - will happily proxy IPv4 traffic to IPv6, so you don't need an IPv4 address to serve web traffic - only your CDN does.
calpaterson··on Trolls will be jailed for ‘psychological harm’
The courts, presumably. They already decide if information is true or false for legal purposes so this is not going to be new to them
calpaterson··on RSS is wonderful
It is often cost prohibitive to put the full text in the feed because of all the clients that neither handle the inbuilt TTL value, nor use http caching correctly. Large (in terms of bytes) RSS feeds are one of the key places where etags and conditional requests are useful but many clients just ignore all that and repeatedly request the whole feed.

This sounds like it couldn't possibly matter but it's actually quite easy for a full text RSS feed to be the vast majority of bandwidth for a site.

calpaterson··on Software developers have stopped caring about reliability
These managed services are of less benefit when the websites that are running on them, like the authors describe, are flaky and unreliable. Like the OP I open the js debugger often - including for relatives.
calpaterson··on A viable solution for Python concurrency
The key disadvantage is largely that it bifurcates the library base. Async libraries and sync libraries co-exist uneasily in the same program.

For nearly every popular library there is now a (usually inferior, less robust) async one. The benefits of Linus' Law are reduced.

calpaterson··on A viable solution for Python concurrency
There are very few new features in 3.8.

It is a much less important release (for features) than 3.7, which for example added dataclasses and lots of typing and asyncio stuff.

The most significant change in 3.8 is a notoriously controversial new infix operator. Even it's supporters would say that it's a niche usecase.

calpaterson··on A viable solution for Python concurrency
Those are not multithreading, they are asynchronous io which is different. With asynchronous io in Python the only concurrency/parallelism you can do is for IO.

Multithreading in Python currently has the same limitation though but it needn't.

calpaterson··on Trailerduck is a smart e-bike trailer
Sorry, a 25kmph electric go kart ("e-scooter") with a roof (!) is not a bicycle and is not the right vehicle for a cycle lane.

Sensible transport segregates vehicles by their performance characteristics. In order to travel in the cycle lane you need to be going at bicycle-level top speeds with bicycle-level acceleration. More or less. E-scooters have a much higher top speed than most normal cyclists actually accomplish in the real world and, much worse, have far steeper acceleration curves. If there were lots of vehicles of the kind you imagine in cycle lanes they would be going much faster than real cyclists actually do and consequently overtaking constantly.

This doesn't really happen much in practice for a couple of reasons. Firstly, e-scooter's wheels are too small and their wheelbases too short to comfortably travel in the cycle lane (or on the road) so they travel on the pavement and drive pedestrians barking mad. Secondly, partly because they are made of chocolate and partly for inherent design reasons, they don't last long (shortish MTBF, near infinite MTTR) - this does a lot to keep them off the roads - except when operated at a loss by venture-backed startups from California.

And your idea that if people weren't on e-scooters that they would be in cars or something - not really. In my area they would be on public transport.

calpaterson··on Trailerduck is a smart e-bike trailer
Sorry if I was unclear: I don't agree. I feel pretty mixed about "pedal-assist vehicles" in cycle lanes and oppose scooters and everything else.
calpaterson··on Trailerduck is a smart e-bike trailer
My personal experience sharing space with electric bicycles/scooters in a large town (London) is that the public is very quickly getting sick of 25kmph vehicles that travel on the pavement and to - a lesser extent - even when they are cycle lanes.

25kmph is about the max speed for a street cyclist but vehicles that sustain this speed for long periods and can achieve it with no effort on the part of the rider are qualitatively different from the bicycles whose shape they share.

Drivers of these vehicles also usually don't want to go on the road proper so I am not very sure where they will go at all. Removing pedal-assist is only going to make these things more anti-social and people won't put up with it for long.

calpaterson··on The Met commissioner: Tech giants make it impossible to stop terrorists
> the IRA were mostly interested in harming property rather than people unlike today’s attackers

I think this is an exaggeration. Some IRA bombs damaged only/mainly property but the IRA also killed hundreds of people and not by accident.

https://en.wikipedia.org/wiki/Provisional_Irish_Republican_A...

I don't really agree that IRA attacks were ended by a negotiated settlement (GFA) either. That's a bit like saying that the the USSR dissolved because the Berlin wall came down.

calpaterson··on LibreELEC 10.0
I found that too but being able to decode it 95% of the time was not useful because you have to redownload in another format if it turns out your RPI3 can't play a specific file.

I just avoided HEVC but I ultimately stopped using an RP3 as a TV because of audio timing issues that became apparent with Dolby Atmos. I now use a Odroid N2+, which I recommend.

calpaterson··on Widelands is a free, open-source real-time strategy game
I've been on the frontpage before and my logs indicate that the peak load was somewhere north of 350 requests/sec though the non-peak (while still on the frontpage) was typically 10-20 requests/second. That is for a very simple page consisting of an html document, css, an image, a favicon and no javascript (eg https://calpaterson.com/printers.html). If you can serve from a reverse proxy cache locally that will be fine but if some PHP/Python/NodeJS is running on each request you can run into trouble with the small servers people typically use for their side-project's website.
calpaterson··on It looks like a product but is a subscription
The lease usually takes into account the depreciation. Lessors aren't usually in the business of just eating the cost of depreciation. That said there are _some_ arguments in favour of leasing (https://www.reddit.com/r/slatestarcodex/comments/ow97zp/it_l...) but a) I don't think they're enormous and b) most people on a PCP don't really appreciate that it is a lease.
calpaterson··on Hastening Linux process cleanup with process_mrelease
The manpage combined with some (forced) experimentation with the wonky code mentioned was enough for me. I run with this config as even the earlyoom defaults were not strict enough:

-r 30 -m 5 -s 80

I run with 16gb of memory and do use swap. In practice if swap is growing at all once memory is near full, I'm in trouble and action needs to be taken.

calpaterson··on Hastening Linux process cleanup with process_mrelease
> That work did not address one other unfortunate characteristic of the OOM killer, though: its opinion of what is the least important process on the system tends to differ from that of the system's users.

My experience of the linux OOM killer is not that its opinion differs from mine but that it has no opinion at all for a long, long time after the system is in deep trouble. The OOM killer simply does not act quickly enough to save systems. Sadly it's not customisable but 'earlyoom' (packaged for debian and probably everything else) is. I turned it on when I was messing about when debugging a badly behaved bit of software which went into a memory allocation loop and have just left it on. It's saved me a few times and I now plan to leave it on forever.

Looks like oomd is an idea along the same lines but with slightly different goals. It's not in my distro so not an easy option for me.

calpaterson··on SQL Join Types Explained in Visuals
It is supported and still in common use in some circles. For reasons I don't fully understand this is called "oracle style".
calpaterson··on The Secret Life of Machines
I watched the boiler episode to learn how central heating worked and got drawn in, they're all excellent and explain a lot.
calpaterson··on CDNs and Centrality
It wasn't ambiguous, I meant buyers.
← PreviousPage 6 of 31Next →