djm_

Joined 13 years ago

Karma
909
Submissions
156
Member since
May 20
[ my public key: https://keybase.io/djm; my proof: https://keybase.io/djm/sigs/Tzt4tOCSPlJUHcLJQ-aXPFfTlIqT0y9MC0HFZ5jxusQ ]
View on Hacker News

Recent submissions

Comment · 5 months ago
OpenAI is not Anthropic, the original comment is valid.

Anthropic have bought out a tool their competitor used too, they even have an OpenAI case study still on the Stainless website.

Comment · 1 year ago
You could do with using an LLM to make your site work on mobile.
Comment · 3 years ago
Comment · 3 years ago
This is so important if you want to avoid incredibly gnarly race conditions. In particular for us: jobs being run even before the transaction has been fully committed to the database.

We utilise a decorator for our job addition to external queues, such that the function that does the addition gets attached to Django's "on transaction commit" signal and thus don't actually get run until the outer database transaction for that request has been committed.

Comment · 3 years ago
Dependabot is based on releases from the various package repositories; running of main is pre-release - hence they’re probably using GitHub Actions to pin their Gemfile-defined Rails version to a commit hash.
Comment · 3 years ago
Correct. Which means if you’re taking deliveries it’s probably better to have a house number as you get validated more frequently.
Comment · 3 years ago
I remember working with SagePay as a payment provider back in 2008 (before we knew of Stripe!) and finding it interesting that card address validation was only done on the numbers in a full address.

For example, from "20 Windsor Road, London, SE1 6JH" it would extract 2016 and validate that against the banks details.

I thought that was quite a smart way as UK addresses can come in all forms, shapes and sizes (as the post shows) – but the minimal bits required to be correct are indeed the numbers as all postcodes have them and an incorrect number would mean a incorrect postcode.

Edit: the funny bit was that they made you work this out and send it along with the request rather than just handling it internally :)

Comment · 3 years ago
Fantastic write-up.

This seems to me like a combination of multiple foot-guns, first being the Docker one - followed by the fact Mongo was not configured to authenticate the connection.

Heroku by default run PostgreSQL open to the world (which is problematic for other reasons) but they get away with it by relying on PG's decent authentication.

My default is to prefer to build systems with multiple layers of security, such that there is no reliance on a single issue like this.

Comment · 3 years ago
Yes! And it’s actually not either/or for us, we still use Docker Compose to run our services (Redis, PostgreSQL, etc) that don’t require file syncing with the host. It’s good at that.
Comment · 3 years ago
Comment · 3 years ago
Comment · 4 years ago
Did you miss the whole pandemic bit or are you too “disconnected from reality”?
Comment · 4 years ago
From experience, I can tell you that many people simply refer to this entire domain as CORS despite that S standing for Sharing. The Same Origin Policy is treated verbally more like the default state of CORS in some circles.

It is very confusing and I’m not entirely sure how it ended up like that.

Comment · 5 years ago
There is a lot of movement in the offline-first/multiplayer space at the moment, after apps like Linear [1] & Figma [2] have pushed the paradigms.

[1]: https://linear.app [2]: https://figma.com

Some other projects which will help you implement the pattern that are worth checking out:

Replicache [3] - real-time sync for any backend. Works via simple push and pull end points and is built by a small team of 3 devs with decent browser xp (Greasemonkey, Chrome, etc)

Logux [4] - a client/server framework for collaborative apps. From Evil Martians, well known for: postcss, autoprefixer, browserlist etc.

[3]: https://replicache.dev [4]: https://logux.io

RoomService also used to be in the space but recently left it to pivot to something else.

The largest problem you’ll end up solving is conflict resolution so having a good understanding of the tradeoffs involved with your (or the underlying) implementation is key.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton