jamesdsadler

Joined 13 years ago

Karma
38
Submissions
18
Member since
Dec 29
Elixir/React/GraphQL developer and co-founder of Alembic. (alembic.com.au)
View on Hacker News

Recent submissions

Comment · 5 years ago
Git does use diffs extensively its algorithms, just not in its representation of history. Git's "domain model" is blobs, trees, commits, branches and tags.

At a lower layer than that (the pack files) it does use binary diffs to store similar objects as deltas to save on disk space.

TL;DR diffs play an important part in git's machinery at different levels of abstraction. They just aren't part of how it represents its domain model.

Comment · 6 years ago
Both of these implementations seem to be missing a call to `free`, or is that something that the caller should be taking care of?
Comment · 7 years ago
If I recall correctly, there was also no uninstaller (at least on Mac, 2 years ago).
Comment · 8 years ago
Can anyone recommend some good cryptography books/links for someone that would like get up to speed on best practices for building secure systems? Ideally the full gamut of beginner to advanced.

What are the classic/authoritative texts in this space?

Comment · 10 years ago
If you don't have a stage then you don't get to edit/stage/edit/stage/fix/commit, right? I use that workflow a lot. I generally like incrementally building and refining my next commit. The stage/index is one of Git's most innovative features IMHO.
Comment · 10 years ago
If the Planck length is Lorentz-invariant but macro-scale objects are not then does that not imply there is a special universal reference frame against which to measure velocity?

If I have understood the article correctly one would be able to measure the length of a spaceship relative to the Planck length and deduce velocity, entirely locally (i.e. onboard the spaceship).

This is a fundamental departure from general relativity which says there is no special frame of reference.

Comment · 10 years ago
> There is no "extent" to which CRDTs are conflict free, CRDTs are by definition always 100% conflict free.

CRDTs are always conflict-free. I am not disagreeing with that. I was trying to draw attention to the fact that just because the CRDT always commutes does not mean that a user does not perceive there to have been a conflict - out of a multiple contradictory edits the commute operation will ensure only one succeeds. So yes, the CRDT itself is conflict free, but it wasn't my point.

They aren't magic. The deal with tie breakers when they have to. I've seen posts where suggestions of building a CRDT-based source control system are being bandied around with claims that there will be no conflicts - sure, there won't be. Will the code make sense or even compile - probably not.

A conflict to a CRDT is one thing and a conflict to a user is something else entirely.

Comment · 10 years ago
Yes, I think we are in agreement. The algorithm can use heuristics to produce a best-effort pleasing result that captures user intent but if two users want opposite things to happen it has to fall back to a tie breaker.

In an extreme example, if the CRDT state-space was 1-bit and user A wants to make it a 0 and user B wants to make it a 1 a choice must be made by the algorithm.

Comment · 10 years ago
To the extent that CRDTs are conflict-free it only means that two edits can commute (be applied in any order) and every party that has applied the same set of edits will produce the same result.

At the low-level that the CRDT is operating on there will be no conflicts.

But that does not mean that the user never perceives there to be conflicts. No matter what the consensus system used be it CRDTs or OT at some point the converge operation has to impose a total ordering to pick a "winner" in the case of conflicting user edits.

If editing a block of text and two users try to replace the same word with another word there are a number of possible outcomes

1) One of the edits "wins" 2) The word is replaced by the concatenation of each user's replacement. 3) Nobody wins and the edit is reverted.

In all cases at least one party perceives to themselves to have "lost". But it generally doesn't matter because humans doing the editing will make repairs to nonsensical edits in real time.

There has to be a tie-breaker when multiple users try to make different edits to the same region of text. At least that's my current understanding.

Comment · 10 years ago
At some point it will become feasible to capture CO2 on a large scale and reduce CO2 concentration in the atmosphere.

So, not screwed yet.

Comment · 11 years ago
Probably not compared to the local salary, which you will not be paid more than I expect.
Comment · 11 years ago
You are paid only in food and accommodation. This initially stuck me as terrible, but then I noticed that the company only hooks you up with startups local to where you are travelling. This is not remote work so do not expect 'back home bucks'.

The requirement for a LinkedIn page is sub-optimal. Allow a Github login plus CV, maybe?

Comment · 11 years ago
It seems to me like an accurate reflection of reality though. When governments and corporations propose legislation in secret it is never going to be in citizen's best interests. On the national and international scale democracy almost doesn't exist. We are being governed by the rich elite and being able to vote is just a sideshow.

Democracy as it is currently implemented is fundamentally flawed because it puts politicians and political parties in power. I mean, it fundamentally is about giving other's power. That is a freaking crude proxy to furthering citizen's interests. It's a blunt instrument. People in power can be influenced/corrupted/manipulated disproportionately by corporations and others with power. Citizens are disenfranchised and mostly powerless.

IMHO the ultimate expression of democracy would not to vote others into office, but to propose and collectively edit new legislation and vote on that. Skip the politician middlemen, go straight to the issues that matter. I imagine that citizens would be allocated a number of non-transferable expiring vote-credits that they can use to spend on pushing legislation.

In summary: until the very nature of democracy evolves we are destined to inhabit a dystopian world that serves only the interests of the elite.

Comment · 11 years ago
Please elaborate.
Comment · 11 years ago
It's a decent course and I appreciate the effort. I'd rather have given my consent to being put on a public leaderboard though.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton