Also, in the real world, we can solve problems at a different level - like legal or product.
5,416 karma · joined January 21, 2012
meet.hn/city/us-New-York
Socials: - x.com/pradnelluru
---
Also, in the real world, we can solve problems at a different level - like legal or product.
One example is the several different recitation styles used to memorize Sanskrit verses. These methods give memorizers multiple ways to remember a line, and also prevent errors like the inadvertent mixing of adjacent words (" euphonic combination"). The "checksumming schemes" are far more elaborate than you'd imagine. [1] The result is perfect transmission of text and its pronunciation, including pitch accent.
Another example is a "multi-party verification" scheme in some Aboriginal Australian cultures. "... storytelling among contemporary Aboriginal people can involve the deliberate tracking of teaching responsibilities. For example, a man teaches the stories of his country to his children. His son has his knowledge of those stories judged by his sister’s children—for certain kin are explicitly tasked with ensuring that those stories are learned and recounted properly—and people take those responsibilities seriously. ... the 'owner-manager' relationship, requiring a story to be discussed explicitly across three generations of a patriline, constitutes a cross-generational mechanism which may be particularly successful at maximising precision in replication of a story across successive generations". [2]
[1]: https://en.wikipedia.org/wiki/Vedic_chant
[2]: "Aboriginal Memories of Inundation of the Australian Coast Dating from More than 7000 Years Ago", Patrick D. Nunn, https://doi.org/10.1080/00049182.2015.1077539
Even the battle-tested hyper-optimized, debugged-over-15-years implementation of Paxos is accessible. Though I’m sure folks could point out other valuable files/directories.
Readability really does help new engineers get up to speed on the style guide, and learn of common libraries they might not have known before. It can be annoying - hell, I'll have to get on the Go queue soon - but that's ok.
* Creating a mutable snapshot of the entire codebase takes a second or two.
* Builds are perfectly reproducible, and happen on build clusters. Entire C++ servers with hundreds of thousands of lines of code can be built from scratch in a minute or two tops.
* The build config language is really simple and concise.
* Code search across the entire codebase is instant.
* File history loads in an instant.
* Line-by-line blame loads in a few seconds.
* Nearly all files in supported languages have instant symbol lookup.
* There's a consistent style enforced by a shared culture, auto-linters, and presubmits.
* Shortcuts for deep-linking to a file/version/line make sharing code easy-peasy.
* A ton of presubmit checks ensure uniform code/test quality.
* Code reviews are required, and so is pairing tests with code changes.
There has been a quantitative shift in tech worker pay at the top end in the past twenty years.
In other words, the past twenty years have seen the rise of Big Tech: billion-user products, trillion-dollar valuations, eating up entire industries (retail, publishing, consumer electronics, entertainment). What enabled them are software economies of scale (production + distribution), the US's ability to train and attract talent, cheap money, and access to massive markets abroad.
Will Microsoft enshittify Windows? Yes, it already has.
Google Cloud projects have three attributes: user-friendly names, system numbers, and system names. System names are alphanumeric. They can be chosen by the user, derived from the friendly name if there's no collision.
But! There's some system names from the olden days that are actually all numbers - so not actually alpha-and-numeric. Thankfully we don't run into those often.
Of course, the big elephant in the room is security - timing attacks on shared cores is a big problem. Sharing anything is a big problem for security conscious customers.
Maybe it's the case of the server leading the client here.
But we clearly have an ouroboros situation. If publishers lose views, they lose money and the ability to craft good information. Less new info to incorporate into LLMs.
LLM training over the internet corpus has really been a massive heist. Pulling a wool over publishers' heads, undercutting their business, hoarding the information.
But it's really unavoidable at this point. Everything has been democratized: compute on cloud platforms, data via Common Crawl, OSS algorithms and tool-kits. No one can put a stop to this, and there's powerful economic incentives to actually get some benefit out of the hundreds of billions that have been poured in already.
What I wonder though is - we've been a year and a half into the LLM craze and we still don't see a really good information processing system for them. Yes, there's chatbots, some that let you throw in images and PDFs.
But what we need is more like a ground-up rethink of these UIs. We need to invent the "desktop" of LLMs.
But the keys here, I think, are that
a) the LLMs are only part of the solution. A chat interface is immature and not enough.
b) external information is brought in by the user, and augmented by a universe of knowledge given by the provider
c) being overly general is probably a trap. Yes, LLMs can talk about everything - but why not solve a concrete vertical?
Semantic search helps with a part of this, but is just one component.
Are there other semantic search systems? What happened to the entire field of Information Retrieval - is vector search the only method? Are all the stemming, linguistic analysis, all that - all obsoleted by vectors?
Or is it purely because vector search is quick? That's just an engineering problem. I'm not convinced it's the only method here. Happy to be corrected!
Features can be brittle, but they are understandable. The paper's appendix [1] lists the 27 features that will likely make a request/resource "ad-related". These include interesting ones like JS AST depth, average JS identifier length, the "bracket to dot notations ration in JS", and a number of graph measures for the graph of scripts.
And contrary to what comments in this thread are saying, they do compare against a blocklist-based adblocker: uBlock Origin. That's in section 5.5. They say they outperform uBlock Origin. But even they say they don't reduce overall page time bc their algorithm is expensive.
Are customers that are so cost sensitive served well by public clouds and attendant infrastructure?
A lot of the value in engineering leadership is in making sure the right problems are being solved.