HNHacker News
TopNewBestAskShowJobs

nly

11,494 karma · joined April 14, 2013

submissionscomments
nly··on Vibe coding and agentic engineering are getting closer than I'd like
The best paid engineers I know seem to be the super fast hackers who write unfathomable amounts of code in short order.

Unfortunately thoughtful design and engineering doesn't get recognised

nly··on Anthropic raises Claude Code usage limits, credits new deal with SpaceX
I find the same. I can blow through the session limit on Pro in <an hour.
nly··on Write some software, give it away for free
Encourage forks, not PRs
nly··on Today I've made the difficult decision to reduce the size of Coinbase by ~14%
The major prop shops and market makers are all over crypto, for sure. But they're only there because these markets are poorly regulated and there's a lot of retail juice to squeeze.

A friend of mine works for one of the major crypto firms and they're starting to deploy algorithmic trading bots on their own exchange.

The spreads on these markets can be diabolical

nly··on Today I've made the difficult decision to reduce the size of Coinbase by ~14%
Because real world assets are heavily regulated and regulation has costs.

The competition is also stiff with decades of experience and network effects

The truth is these crypto shops have a pretty poor reputation in the traditional finance industry. Nobody in trading tech goes to work for them unless they offer insane salaries, because they (we) know it's an unstable place to be.

nly··on You can beat the binary search
Searching the upper cache lines in your binary search tree (sorted vector) for your target is unlikely to yield results. Instead you want to use the extra data in the line to shorten the search, which leads you to a B-Tree or B+tree.

For 4 byte keys and 4 byte child pointers (or indexes in to an array) your inner nodes would have 7 keys, 8 child pointers and 1 next pointer, completely filling a 64 byte cache-line and your tree depth for 1 million entries would go down from ~20 to ~7, the top few levels of which are likely to remain cache resident.

With some thought, it's possible to use SIMD on B-tree nodes to speed up the search within the node, but it's all very data dependent.

nly··on AI should elevate your thinking, not replace it
It's fairly easy to be submarine rich, and fly completely below the radar. Just brush off questions about your work with vagueness. If you're not flashy, nobody will suspect you're rich
nly··on Google plans to invest up to $40B in Anthropic
They aren't teaching themselves anything though are they, they are basically getting AI to do their work for them.
nly··on Google to invest up to $40B in Anthropic in cash and compute
Top of the book? Nobody on the secondary market is investing $30bn
nly··on Zero-copy protobuf and ConnectRPC for Rust
The win could be only decoding the fields you actually care about, rather than all fields.

It's the same for any other high performance decoding of TLV formats (FIX in finance for instance).

nly··on More than 50% of young Dutch adults do not want children
18-35 is a broad range... Survey people in their 30s. That is when the decision really needs to be made, when the issue is forced.
nly··on Bypassing the kernel for 56ns cross-language IPC
The main issue with dual counters is that most of the time, in low latency usecases, your consumer is ~1 message behind the producer.

This means your consumer isn't getting a lot of benefit from caching the producers position. The queue appears empty the majority of the time and it has to re-load the counter (causing it to claim the cacheline).

Meanwhile the producer goes to write message N+1 and update the counter again, and has to claim it back (S to M in MESI), when it could have just set a completion flag in the message header that the consumer hasn't touched in ages (since the ring buffer last lapped). And it's just written data to this line anyway so already has it exclusively.

So when your queue is almost always empty, this counter is just another cache line being ping ponged between cores.

This gets back to Aeron. In Aerons design the reader can get ahead of the writer and it's safe.

nly··on Bypassing the kernel for 56ns cross-language IPC
Your statements on queues ignore the state of the art

> MPSC (multiple-producer single-consumer) requires a compare-and-swap loop on the head pointer so that two producers can each reserve a contiguous slot without overlap.

Martin Thompsons designs, as used in Aerons logbuffer implementation, don't require a CAS retry loop. Multiple producers can reserve and commit concurrently without blocking one another.

The trade off is you must carefully decide on an upper bound for message size and the number of producer threads (in the hundreds typically). A caretaker thread also needs to run periodically to reclaim/zero memory off the hot path. Typically though, this isn't a problem.

Aeron itself, which you compare at ~250ns, I think (not entirely sure) is paying the price for being multi consumer as well as multi producer, and perhaps implementing flow control to pace producers. You can turn off multi producer by using an exclusive publication, which eliminates one atomic RMW operation on reserve. I'm not sure where the other nanos are lost.

For SPSC, doing away with 2 atomic shared counters and moving to a single counter + inline headers is a win for thread to thread latency. The writer only needs to read the readers new position from a shared cache line when it believes the queue is full. The reader can batch writes to this counter, so it doesn't have to write to memory at all most of the time. The writer has one fewer contended cache line to write to in general since the header lives in the first cacheline of the message, which it's writing anyway. This is where the win comes from under contention (when the queue is ~empty)

nly··on Newly created Polymarket accounts win big on well-timed Iran ceasefire bets
There's no alternative
nly··on Who is Satoshi Nakamoto? My quest to unmask Bitcoin's creator
Len Sassaman?
nly··on Software never had a soul
It feels like the youngest generation are more enthralled by the big media/tech regime online than we were 20 years ago though

Sure we used AIM and MSN Messenger but we also used IRC, visited forums and looked at newsgroups.

So many people these days don't even own laptops. Their entire digital footprint comes through apps on restrictive mobile platforms.

nly··on SpaceX files to go public
Likely only a shameful % of the company will float.
nly··on Shipment of KitKat bars stolen en route from Italy to Poland
The product is a minimum of 25% cocoa solids and the oils are listed after that on the ingredients list, which means by weight they are more cocoa than oil.
nly··on Shipment of KitKat bars stolen en route from Italy to Poland
Not in the US they aren't, since they're made by Hershey and not Nestle and so are a completely different product.
nly··on Shipment of KitKat bars stolen en route from Italy to Poland
Cadbury have TimeOut but it's not quite the same. (It's lighter, less chocolate and less dense)

Clearly intended to be the direct competitor though, since "Have a break, have a KitKat" is the KitKat slogan, and timeout is also a break.

https://www.tesco.com/groceries/en-GB/products/316651552

nly··on The case for becoming a manager
My manager is a good developer. But he's also a terrible manager.
nly··on When do we become adults, really?
Labels like "adult", and "successful" etc are all for other peoples benefit rather than our own. It's all a facade.

I'd probably measure maturity in terms of how one navigates relationships.

When it comes to my partner, being vulnerable, knowing when it's ok to share that I don't feel like an adult, that i'm scared or lack confidence, and when to put on a strong front and say it's all going to be ok, to make her feel safe, is the essence of what I consider to be a "grown ass man".

But we're also planning a trip to the Lego House, Denmark together and we don't have kids. So there's that.

nly··on Jack Bogle would hate what Vanguard has become
There are no practical differences between funds and ETFs in the UK, except the fact that the latter are live quoted.

Mutual funds are cheap and have no tax disadvantages for us. In fact, outside of tax sheltered accounts, mutual funds are a lot easier to manage for tax purposes.

No, Vanguard just think it's fine to charge us 4x as much

VWRP, which I mentioned, is also an ETF

nly··on Jack Bogle would hate what Vanguard has become
Most of their funds are incorporated in Ireland (the UK doesn't have native ETFs, they're all European but can be listed on the LSE)

Investors in the UK are not partners in Vanguards mutual structure, and Vanguards UK platform ("Vanguard Investor") is not run by Vanguard but by a third party (FNZ, a New Zealand fintech).

OCF for VT, a global equity index ETF in the US, is 0.06%

UK equivalent (the Global All Cap Index Fund, or perhaps the VWRP All World ETF) is 0.23% and 0.19% respectively, and the latter excludes small caps and both have fewer holdings than VT

Invesco's All World ETF in the UK, tracking the same index is 0.15% and HSBC have an index fund tracking the same index also at 0.13%

Vanguard UK have a 0.15% platform fee whereas the best UK alternatives are completely free.

Vanguard UK recently introduced a minimum nominal platform fee on top which screwed over small investors.

Vanguard are no longer cheap and not on our side.

nly··on Jack Bogle would hate what Vanguard has become
I hate the way Vanguard UK customers subsidize the US business (Fees are lower for US customers than UK ones on comparable funds)

They aren't the cheapest anymore in almost every category, but their brand recognition has exploded here in recent years.

nly··on Nasdaq's Shame
Simple solution is to not invest in funds that track NASDAQ indices.

There are plenty of other funds out there that track other indices from other providers.

nly··on I'm 60 years old. Claude Code killed a passion
Putting solutions in to production. Not "things". Honestly I'm sick of dogshit companies wanting something done yesterday but are happy to spend the next 2 years having engineers debug the consequences.

I've just written the fifth from-scratch version of a component at work. The requirements have never changed (it's a client library for a proprietary server, which has barely ever changed). I'm the 5th developer at the company to write a version of it.

All because nobody gave engineers the breathing room to factor the solution in to well thought out, testable, reusable components. Every version before is a spaghetti soup of code, mixing up unrelated functionality in to a handful of files.

No well thought out interfaces. No automated end-to-end testing, and no automated regression testing. The whole thing is dire and no managers give a fuck.

AI cannot solve for a lack of engineering culture. It can however produce trash faster than ever at these toxic shops.

nly··on I'm 60 years old. Claude Code killed a passion
>= 60 apparently.
nly··on I'm 60 years old. Claude Code killed a passion
> Your company isn’t paying you to solve puzzles.

Actually they are, but it's also true that you need to put solutions in to production.

nly··on The 100 hour gap between a vibecoded prototype and a working product
Baking bread also takes hours of waiting.

I can have fresh bread anytime I want from a handful of nearby stores.

← PreviousPage 5 of 34Next →