HNHacker News
TopNewBestAskShowJobs

glenjamin

1,504 karma · joined February 4, 2011

submissionscomments
glenjamin··on Shimano Bicycle Museum Review
What I'd really like to see is a spoiler-free mode.

I can watch a race on catch-up, but if I'm doing that then I can't open PCS to check profiles or standings/time-gaps until I'm fully caught up

glenjamin··on What makes software development engineering
Hillel Wayne did a series of interviews with people who are considered "proper" engineers, which you can read here:

https://www.hillelwayne.com/tags/crossover-project/

the tl;dr is that for the most part, modern software development is very similar to engineering

glenjamin··on JIT Compiling Code in 5μs
pgrust sounds very interesting, but with the deep changes there’s no viable path to upstream it - is the end goal to be robust enough that it’ll get wide adoption?
glenjamin··on Findphone: Locate a nearby Bluetooth device by signal strength
Weirdly Apple seems to have something like this built-in for finding an apple TV remote - but the same flow doesn't appear to be launchable for any other device
glenjamin··on Podman v6.0.0
Upthread the implication seems to be that smolmachines would be in some way a replacement for orbstack to run docker containers

But it seems more like a completely different way to run isolated workloads?

glenjamin··on Škoda DuoBell: A bicycle bell that penetrates noise-cancelling headphones
on the rare occasions where I need to loudly indicate my presence to a motor vehicle I wouldn't really want to be moving my hands - if I have time to move a hand to a horn I probably have time to brake/manouvre instead.

Generally in those situations I shout really loudly at the driver, and in general they seem to hear me

glenjamin··on S3 Files and the changing face of S3
The way AWS keep their pricing section completely separate from their system and architecture docs, despite architecture being the primary driver of cost, is a major contributor to this
glenjamin··on Introduction to PostgreSQL Indexes
A bitmap index scan allows the database to narrow down which pages could include the data, but then still has to recheck the condition on the contents of those pages - so will still not be as performant as an proper index scan
glenjamin··on How much of my observability data is waste?
This pitch seems ok to people using simple log aggregation tools or metric tools that have to be wary of tag cardinality

But how does it compare to an actual modern observability stack built on a columnar datastore like Honeycomb?

glenjamin··on The compiler is your best friend
Any advice on how to learn modern Swift?

When I tried to do learn some to put together a little app, every search result for my questions was for a quick blog seemingly aimed at iOS devs who didn’t want to learn and just wanted to copy-paste the answer - usually in the form of an extension method

glenjamin··on Distributed ID formats are architectural commitments, not just data types
A failure mode of ULIDs and similar is that they're too random to be easily compared or recognized by eye.

This is especially useful when you're using them for customer or user IDs - being able to easily spot your important or troublesome customers in logs is very helpful

Personally I'd go with a ULID-like scheme similar to the one in the OP - but I'd aim to use the smallest number of bits I could get away with, and pick a compact encoding scheme

glenjamin··on Stacked Diffs with git rebase —onto
I invite you to look into feature flagging.

It is entirely viable to never have more than 1 or 2 open pull requests on any particular code repository, and to use continuous delivery practices to keep deploying small changes to production 1 at a time.

That's exactly how I've worked for the past decade or so.

glenjamin··on Stacked Diffs with git rebase —onto
I’m amazed that this comment is so low down

Stacked diffs seems like a solution to managing high WIP - but the best solution to high WIP is always to lower WIP

Absolutely everything gets easier when you lower your work in progress.

glenjamin··on PGlite – Embeddable Postgres
Does pglite in memory outperform “normal” postgres?

If so then supporting the network protocol so it could be run in CI for non-JS languages could be really cool

glenjamin··on WordPress plugin quirk resulted in UK Gov OBR Budget leak [pdf]
There's a couple of passing mentions of Download Monitor, but also the timeline strongly implies that a specific source was simply guessing the URL of the PDF long before it was uploaded

I'm not clear from the doc which of these scenarios is what they're calling the "leak"

glenjamin··on Data-at-Rest Encryption in DuckDB
that looks neat - how but do you handle failover/restarts?
glenjamin··on Data-at-Rest Encryption in DuckDB
Other than motherduck, is anyone aware of any good models for running multi-user cloud-based duckdb?

ie. Running it like a normal database, and getting to take advantage of all of its goodies

glenjamin··on Code like a surgeon
This reminded me of a slide from a Dan North talk - perhaps this one https://dannorth.net/talks/#software-faster? One of those anyway.

The key quote was something like "You want your software to be like surgery - as little of it as possible to fix your problem".

Anyway, it doesn't seem like this blog post is following that vibe.

glenjamin··on Online Safety Act – shutdowns and site blocks
This doesn't seem accurate to me - Gambling sites legally operating in the UK already have strict KYC requirements applied to them via the Gamling regulator.

Visiting a gambling site isn't restricted, but signing up and gambling is.

glenjamin··on From XML to JSON to CBOR
The only mention I can see in this document of compression is

> Significantly smaller than JSON without complex compression

Although compression of JSON could be considered complex, it's also extremely simple in that it's widely used and usually performed in a distinct step - often transparently to a user. Gzip, and increasingly zstd are widely used.

I'd be interested to see a comparison between compressed JSON and CBOR, I'm quite surprised that this hasn't been included.

glenjamin··on Unexpected security footguns in Go's parsers
It’s worth noting that if you DisallowUnknownFields it makes it much harder to handle forward/backward compatible API changes - which is a very common and usually desirable pattern
glenjamin··on How easy is it for a developer to "sandbox" a program?
oh, I can't edit now but that was supposed to say "nudge"
glenjamin··on How easy is it for a developer to "sandbox" a program?
I think in some cases (like WhatsApp) the better model exists and is available, but isn’t used by the app - possibly as a judge to get you to give it more permissions

On iOS Strava’s app is able to access a photo picker, and the app only gets the photos I actually pick

Meanwhile WhatsApp insists on using the model where it tries to access all photos, and I limit it to specific ones via the OS

glenjamin··on Don't just check errors, handle them gracefully (2016)
It would be cool if someone could come up with a way for the runtime system to automatically wrap errors with the calling context.

That way you’d be able to trace the stack of functions that were involved in passing an error back up to the place where it’s actually handled.

glenjamin··on When will M&S take online orders again?
I chatted to a staff member on the checkout of my local coop supermarket

She said that every shelf item is ordered on a JIT basis as the store stock levels require them - there are no standing orders to a store

Based on that, I presume they didn’t really know what any store would need

Even when they were struggling my local store still had a decent stock of lots of stuff - just some shelves were empty

glenjamin··on Try Switching to Kagi
No, it's "hard", because it requires an extension to monitor all requests to a different search enging and hijack those to perform a redirect.

This is a clever workaround by Kagi, but a glaring hole in the Safari extension API surface area.

glenjamin··on Try Switching to Kagi
I find it a little surprising that the famous apple blogger neglects to mention that Apple makes it hard to use a search engine like Kagi on iOS!
glenjamin··on On JavaScript's Weirdness
Complaining about the for loop behaviour seems odd. Variables declared in the expression section of the loop are scoped to the loop body - this is generally reasonable and the least likely to produce errors.

Notably, Go initially decided to stick with the C-style approach and have the scope be outside the loop, and has since decided that the tiny performance improvement this provides isn't worth the many many times it's tripped people up, and has changed the semantics in recent versions: https://go.dev/blog/loopvar-preview

glenjamin··on Disk I/O bottlenecks in GitHub Actions
If you’re running inside AWS us-east-1 then docker hub will give you direct S3 URLs for layer downloads (or it used to anyway)

Any pulls doing this become zero cost for docker hub

Any sort of cache you put between docker hub and your own infra would probably be S3 backed anyway, so adding another cache in between could be mostly a waste

glenjamin··on Zero-Downtime Kubernetes Deployments on AWS with EKS
That’s how you’d expect it to work, but that’s not how pod deletion works.

The pod delete event is sent out, and the load balancer and the pod itself both receive and react to it at the same time.

So unless the LB switchover is very quick, or the pod shutdown is slow - you get dropped requests - usually 502s.

Try googling for graceful k8s deploys and every article will say you have to put a preStop sleep in

Page 1 of 14Next →