benburwell's comments

benburwell | 9 months ago | on: Falsehoods programmers believe about aviation

Some examples of flights without schedules:

- A private pilot who departs their local airport without filing a flight plan and flies around for a while.

- A charter jet that departs whenever the passengers show up.

- A medevac helicopter departs a hospital to return to its base. While en route, it is rerouted by dispatch to pick up a patient at a different hospital.

benburwell | 3 years ago | on: Infosys leaked FullAdminAccess AWS keys on PyPI for over a year

The article mentions a takedown notice they received from GitHub instructing them on how to remove certain content from their repo. I'm guessing maybe this PR contains some of that content they were asked to remove, and there's a bug in GitHub when rendering a pull request page that references deleted content?

benburwell | 3 years ago | on: Ask HN: How to get developers and UI designers to work well together

How useful is this in practice though?

I'd guess that far greater than 99% of the people using (most) products do not have perfectly color calibrated monitors. If it doesn't look good on the developer's "kinda close" monitors, that seems like a decent indication that the design needs to be updated to allow for "rougher tolerances" so to speak.

benburwell | 4 years ago | on: Go Replaces Interface{} with 'Any'

Your "state of the art" Go code is not really a good example of how that functionality would be written.

If you want to check for a specific error condition, then just define a value for that error and use `errors.Is` to check for it. This works as you'd expect with wrapping: https://go.dev/play/p/rJIlKKSYn9Q

> With the current go error handling, you need to add the informations yourself in the string, not as a real data structure.

This is completely false! If you want to provide a structured error, then you just need to define a type for it. In your example, a Go programmer might use errors.Is(err, fs.ErrNotExist) and errors.As if they wanted to retrieve the specific file path that does not exist in a strongly-typed way, something like https://go.dev/play/p/hdHPLAVbQuW.

> Delegating error handling to a try/catch block with a typed data structure allows the caller to care for certain type of errors and delegate the others to its own caller. With the current error type in Go, what would you do? parse the error message?

Certainly not! I think there is a misconception that "an error is a string" -- in Go, an error is actually any type that satisfies the error interface, i.e. has an `Error() string` method. It can be any type at all, and have as many other methods as you like in order to provide the functionality you need.

> what if the function is defined in a dependency you have no control over?

There's nothing stopping you from writing `throw new Exception(String.format("file not found: %s", filename))` in languages with exceptions either. In both cases, it would be recognized as poor API design.

Regarding stack traces, Go makes a strong distinction between errors (generally a deviation from the happy path) and panics (a true programming error, e.g. nil pointer dereference, where the program must exit). Errors do not provide stack traces since there is no need for them in a flow control context, panics do provide stack traces for useful debugging information.

benburwell | 4 years ago | on: Show HN: Live MBTA Map (Boston T)

Hi HN! I wanted a way to visualize the MBTA system as a whole, so I hacked this together over the weekend.

It shows the current position of each bus, train, and subway, including a little tail behind each vehicle to show where it's been.

There are plenty of rider-focused experiences built around this data but I'm more interested in the visual aspect of being able to look at the whole thing at once. It's probably not a very practical tool for riders!

benburwell | 4 years ago | on: 2021.06.08 Certificate Lifetime Incident

Wouldn't clients then only become aware that they need to replace their certs after they've been revoked?

I think the desire here would be for a mechanism to alert clients to obtain a new certificate before their current certificate is revoked and becomes invalid.

edit: formatting

benburwell | 6 years ago | on: Fuchsia Programming Language Policy

As a Go programmer, it doesn't really seem that notable or surprising to me that Go isn't considered the best language to use for implementing an operating system.

benburwell | 6 years ago | on: I ordered a box of boxes from The Packaging Wholesalers via Amazon.ca

Of course it is their responsibility to take it back.

Suppose I order a watering can from the garden supply store. When I get home from work, I discover that instead of a watering can, they've delivered 2 tons of mulch in a giant pile in my driveway.

I'm not sure how you could make the argument that it's now my responsibility to get rid of the mulch that I didn't want or ask for?

benburwell | 6 years ago | on: Phone services disrupted across B.C., but emergency calls still working

This is how it works in most areas. Mobile calls to 911 will go to the PSAP for a relatively large region, who will triage the call and if your address is in an area served by a more local PSAP, they will add a calltaker from the local PSAP to the line and transfer the call to them.

It's probably best to just stick with 911. That's what calltakers are used to, and trying to route around 911 means you won't get the advantages built into that system (like priority handling, mapping, etc).

benburwell | 10 years ago | on: A Sea Change in Treating Heart Attacks

As an EMT, I too found this rather disturbing. Throughout the article, prehospital interventions were repeatedly not acknowledged. From the reference to "ambulance drivers" that you mentioned to things as subtle as saying that the clock starts when the patient rolls into the ER rather than when the ambulance arrives on scene, the article completely misses (or does not fully acknowledge) a hugely important factor in improving outcomes for STEMI: the prehospital care involved.

benburwell | 10 years ago | on: Securing Email Communications from Facebook

Totally agree. Going off of this, it would be kind of neat if they started signing all outgoing email by default, regardless of whether the recipient has uploaded their public key for encryption.
page 1