HNHacker News
TopNewBestAskShowJobs

lukeramsden

569 karma · joined May 24, 2018

[ my public key: https://keybase.io/lukeramsden; my proof: https://keybase.io/lukeramsden/sigs/yOmLLQNb5tgyWumuoGoSbYceXwfNgFxR13YBPpJyUVg ]
submissionscomments
lukeramsden··on Just use Postgres for everything
To me, good modularity at the data layer doesn't mean abstracting away Postgres or even SQL. To me, it means having a separation of concerns between loading data, writing data, and _processing data as domain objects_. Don't have your core business logic operate over database rows, but in-memory objects. You can test the loaders/writers separately to your actual logic at that point.
lukeramsden··on Experiment: The costs of slow build times
Super interesting, not seen BuildJet before, seems like a great concept. Sent it to a few friends that might find it useful. I wonder if there are other CI systems you could make runners for, maybe Gitlab/Buildkite? "The ultimate compute solution for your CI"
lukeramsden··on CRDT: Fractional Indexing
Reminds me a little of "Lexorank" used in Jira[0], except by using decimals instead of base-36 strings, which I guess could be more efficient? The "rebalancing" aspect is interesting because on a long enough timescale for a document you will definitely want to do it. Would love to read up more on any algorithms for doing this in a p2p manner - with a central server it's probably quite easy using some tombstoning or something.

[0] https://stackoverflow.com/questions/40718900/jiras-lexorank-...

lukeramsden··on What I learned working with a senior engineer as a new grad
The point is to always name your variables / methods / classes as exactly what they do (not how they do it, but what they achieve). If this name looks ridiculous, like `doXAndYAndZAndSideEffect`, then your code is likely poorly factored. I've found it works very well for helping to find good separation of concerns.
lukeramsden··on Physical buttons outperform touchscreens in new cars, test finds
It's supposed to be their job - lots of "designers" nowadays seem mostly focused on aesthetic trends rather than those (IMO) more important things
lukeramsden··on Arrest of suspected developer of Tornado Cash
> This is the latter case.

You're stating this as if it's fact when it's really not. Tornado Cash was certainly not designed with the intent of criminal activity, but for privacy - and as for "significantly more for crime than not", I've not seen any actual evidence for this, only evidence to the contrary. People claim it's mostly used for crime, but those are purely conjecture, at least the ones I've seen are.

lukeramsden··on Tornado cash takedown and its repercussions
> The primary focus of the creation of Tornado Cash was to facilitate money laundering

This is a GIGANTIC claim that you're going to have to evidence. Alexey Pertsev, Roman Semenov, and Roman Storm all studied STEM subjects at university, spent years working as pentesters, QAs, SWEs etc, as some sort of long-con to create a money laundering platform? What a totally absurd thing to say, and is quite frankly insulting to the entirety of this site.

lukeramsden··on Tornado cash takedown and its repercussions
> Besides, the code or math isn't banned or illegal, the organisation is. Quite different things.

Which shows the US government still don't understand cryptography, cryptocurrencies, smart contracts, or Open Source.

The Tornado Cash "organisation" is just a bunch of researchers and open source developers, now being sanctioned for having the gaul to write code that is privacy-preserving. The Tornado Cash smart contracts live on on every chain they are deployed to, and the IPFS-hosted UI is untouched.

Amusingly, you can also prove transaction history with Tornado Cash if you want to, for example, to prove to law enforcement or a bank that your funds are legitimate. So these sanctions are only actually going to affect legitimate users who simply wanted on-chain privacy, such as "famous" people with `.ens` domains attached to their addressses.

lukeramsden··on Use one big server
We're much more like artisans than engineers, in my opinion (maybe with the exception of extremely deep-in-the-stack things like compiler engineering).

The problem seems to be that because there's no "right way", only wrong ways, discussions end up being circular. I'm not a civil engineer, but I imagine there is a "best way" to build a bridge in any landscape, where any decisions and tradeoffs have well defined parameters, gained through trial and error and regulation over literally thousands of years of building bridges.

Us "Software Artisans" spend almost as much time arguing as lawyers do because, like law, it's all made up. Information, and human-to-human communication via CPU instructions abstracted to the point of absurdity.

I also get the vibe that greybeards like Uncle Bob and Martin Fowler understand this very intuitively.

lukeramsden··on Use one big server
> It’s never one big database. Inevitably there are are backups, replicas, testing environments, staging, development. In an ideal unchanging world where nothing ever fails and workload is predictable then the one big database is also ideal.

But if you have many small databases, you need

> backups, replicas, testing environments, staging, development

all times `n`. Which doesn't sound like an improvement.

> What happens in the real world is that the one big database becomes such a roadblock to change and growth that organisations often throw away the whole thing and start from scratch.

Bad engineering orgs will clutch defeat from the jaws of victory no matter what the early architectural decisions were. The one vs many databases/services is almost moot entirely.

lukeramsden··on Has the world become less colourful?
Could possibly be because most households nowadays have to be dual-income, and so there's not a dedicated homemaker with the motivation to do that.
lukeramsden··on Show HN: SetOps – Run containers, databases and more in your own AWS account
This also makes sense as somebody who has never deployed to or operated k8s - I want the most prod-ready and batteries-included cluster config, which I deploy myself on my own infra, and can then customise as and when I need to, and learn as I go.
lukeramsden··on Statement on 4 Years of GDPR
> that reloaded page can contain current session id, right

Right, through cookies - unless you want to embed the session ID in every single link or button in the whole page. The way pages "contain" session data like that _is_ cookies! snapetom mentions embedding in query parameters, which while a possible solution, seems even worse to me, as it means sharing a link to the current page you're on leaks your session token. I'm really not sure I'm following what you're saying here.

lukeramsden··on Jasonette – Native App over HTTP
This is really weird, I haven't thought about Jasonette in years. I used to speak to Ethan quite a lot, and because I said he wanted to contribute (I was quite young at the time), he had me start building a "registry"[0] for "extensions" to Jasonette (which IIRC were essentially non-core native modules for the framework)

[0] https://github.com/Jasonette/jr

lukeramsden··on Statement on 4 Years of GDPR
Is there any way of maintaining session IDs across requests without JavaScript other than cookies? My understanding is, the whole point of cookies is that they're automatically sent by the user agent, anything else that was stored (such as in LocalStorage) could only be used by JS scripts.
lukeramsden··on How This Ends
I would imagine ChrisMarshallNY means they weren't running companies when the last recession hit, not that they literally weren't alive....
lukeramsden··on How This Ends
Depends how old you are. Even the youngest member of the UK cabinet is old enough to be my father, but the real decision makers are old enough to be my grandfather. I don't keep close track of US politicians but as far as I can tell, its even worse there.
lukeramsden··on The ‘flawed five’ engineering productivity metrics
Depends how you measure "reaching", i.e. all refactorings and optimisations all reach the customer technically "reach" the customer as soon as they're deployed (essentially, anything that meets its definition-of-done is "delivered). I think the wider idea is to measure work being interrupted and abandoned, or being abandoned due to not being necessary, both of which could be dubbed signs of inefficiency.
lukeramsden··on Deploying Kubernetes clusters in increasingly absurd languages
I'm assuming there's some sort of transpiler to brainfuck? I just cannot stomach the idea that that was written by hand somehow....
lukeramsden··on Cloudflare R2 Pricing
I believe this was called "slurp mode" when they first announced the product
lukeramsden··on Stripe Financial Connections
> MX itself is an aggregator of aggregators

Aggregators all the way down...

The US really needs its own PSD2.

lukeramsden··on Twitter set to accept Musk's $43B offer – sources
Hacker News is not a valid comparison. dang is not going around telling people what is "right" and what is "wrong" and what is "misinformation", or trying to control a narrative. Hacker News' heavy-handed moderation is specifically what allows a vast array of opinions to be discussed and debated honestly and openly, in a way that Twitter and YouTube would simply remove as "misinformation".
lukeramsden··on On anti-crypto toxicity
In the most abstract sense, with a blockchain you’re paying for the _consensus_, not the _computation_ to handle transactions - and there are projects (such as Starkware) aimed at taking that to its logical conclusion, using computation proofs to reduce the cost of transactions by orders of magnitude.
lukeramsden··on On anti-crypto toxicity
There is plenty of interesting discussion, both on Twitter and in community-specific areas like blogs and Discords and such. It’s just drowned out by the nonsense, which is inevitable due to the association so many people have with getting rich quick with cryptocurrencies. It’s the same with retail traders buying options - there is some interesting discussions happening in some places, and interesting strategies being run, but it’s hard to find over the masses of spam.
lukeramsden··on Ethereum Has Issues
> Do we have to accept that MEV is a problem?

Yes and no. On the one hand, one does have to accept that "MEV" in the "_Maximum_ extractable value" is always going to be potentially present on a public blockchain - but often times, this is a good thing. Liquidity pool arbitrage is also "MEV", but is MEV that is absolutely vital to efficient markets, and the more advanced the players in that game get, the more everybody gets to enjoy liquid and efficient markets. On the other hand, more and more DeFi projects take in to consideration possible MEV extraction vectors when designing applications, and some even use "MEV protection" as a USP (such as CoWswap)

lukeramsden··on Authorization in a Microservices World
The way it's done at my current company is that services do their own minimal authorisation based on their own business logic, if any at all, and the rest is done by a dedicated "policy service" that is called by the request composer (which is the only service the FE calls) to do very advanced checks on what individual users are and aren't allowed to do, with the policy service being configurable through YAML "policy documents". It seems to work very well for the colleagues of mine that work on it.
lukeramsden··on Automerge: A JSON-like data structure (a CRDT) that can be modified concurrently
I encourage anybody who enjoys Martin Kleppmann’s writing or work to check out his Patreon.
lukeramsden··on Crypto: The Good, the Bad and the Ugly
The same can be applied to your comment of "Crypto doesn't really solve a problem that needed solving". That's not an axiom, thats a subjective opinion, saying its not useful because it's not useful. Plenty of people will, and have, argued otherwise.
lukeramsden··on Crypto: The Good, the Bad and the Ugly
> Sooner or later, the founders of BTC (for example) will start to cash out. At the moment, they seem to be cashing out gradually

Who are these "BTC founders" that are cashing out gradually? The only actual founder of Bitcoin, the anonymous Satoshi, has not moved any BTC since they disappeared from the internet: https://whale-alert.medium.com/the-satoshi-fortune-e49cf73f9...

lukeramsden··on Crypto: The Good, the Bad and the Ugly
That's the central bank narrative, whether its a good thing or not I think is still up for debate. Regardless, this can still be done with crypto (in fact, Ethereum is inflationary and not fixed cap like Bitcoin is), except that speculation and capital inflow still drastically outpace the inflation. Presumably one day an equilibrium will be reached.
← PreviousPage 2 of 7Next →