Yep - I’ve very much been living the former for almost a decade now. It is especially difficult when the components stretch across organizations. It doesn’t quite address what the author here is getting at, but it does make me believe that this new programming model will come from academia and not industry.
SQLite is a lean and clean tool, it's very much a candidate for being inserted into all manner of contexts.
What beggars belief is the overly complicated, inefficient, rats nests of trendy software that developers actually string together to get things done, totally unaware of how they are implemented or meant to work.
By comparison using SQLite outside of its "blessed (by who?) use cases" is very practical.
Easy. Sometimes it's more than you need, and there's no reason to use sqlite when you can just write things to a flat text file that you can `grep` against.
Oh man this one hits home. I don’t do much coding anymore but my general advice to folks I lead is you’re never going to be happy with how you did things and just make sure it scales and is well tested.
Edit: oh and how could I forget as simple and readable as possible
I don’t think this is a particularly well written article, but I sort of agree with the sentiment. Basketball just isn’t THAT complex and the talent pool is homogenous enough that most teams can find these archetypes and build rosters that get you to the playoffs.
That said, trends are cyclical. Look at the role of the running back in the NFL. There will always be outlier players like Shaq who will buck the trends and exploit matchups.
“The NBA talent pool is homogenous” is the new worst hn take I’ve seen.
If “most teams can build rosters that get to the playoffs” is true it’s only because the NBA playoffs are so big. I’d assume it’s false based on any interpretation of “can build” you pick.
Realistically only a handful of teams compete for a championship in any given span of years.
My country of Smugistan solved playoff problem years ago. Very simple: every Smugball team makes playoffs. If Americans and Europeans weren't so far behind Smugistanian education system, they would have figured it out too.
1) playoff format rends 6 months of games not very important, the biggest difference is in your seeding. That's..all?
2) another way it makes the previous 6/7 months pointless is that your entire season is based on a single set of games. You can be the best team in the league by far, but then if one player gets injured or you're out of form or unlucky it's over
I just don't like leagues with a playoff system, you either have a league or you have a round robin, both seem directed toward squeezing tv rights, not awarding the best team of a season.
Most sports pretty much have a playoff system to a greater or lesser degree.
That said, basketball has pretty much always been one of the major US sports that can rely on a fairly small number of really good players and the rest don't matter nearly as much. Stars (pitchers, QBs, receivers, etc.) matter elsewhere but probably not individually as much as they do in basketball.
The German Bundesliga has a playoff to see which of the 16th team in tier 1 or the 3rd team in tier 2 goes into tier 1 next year
The English Championship (tier 2) has a tournament of four teams (placed 3rd-6th) to determine who goes up into the Premier League. The final of this is known as the richest game in football, worth £120m+ to the winner.
It could also be argued that the new UEFA Champions League format is a US-style playoff system. Maybe the old format too now I think of it.
These are not playoff systems for a championship but for a promotion/relegation. There are better examples like the Belgian league but they carry over more benefits from the regular season.
The champions league determines the teams going the brackets in 8 "season" games. Instead of > 30.
But even in your bad faith argument the number 1 and for the championship even the number 2 is decided by just the regular season. So they understand that the regular season should mean more than some seeding.
Everyone knows that in 80 games a half are either walkovers or don't mean anything in the end. They are only there for the money and could be cut for a better league. They could, just like 3 pointers, even make it a more profitable option.
These are not playoff systems for a championship but for a promotion/relegation
And again, UEFA CL is NOT (look that up if it is confusing) single country league. Once Chiefs start playing Montreal Destroyers and San Salvador Bulldogs in North America Football league than we can compare US sports leagues with UEFA CL. until then, try to find a country in which there are playoffs after league season is over, only US does this garbage and makes regular season generally un-watchable and meaningless
I mean there's the World Cup though that's a bit different. The US (or US + Canada) is big enough that having large leagues of top-level teams makes some sense to have playoffs.
My point is towards the regular season + playoffs which is imho lame.
Imagine a formula 1 season where you watch 20 races and then the best teams play it out in the last 4. That's a giant nonsense in most sports but somehow it spread even to European basket and volley in the 80s, I guess under the American influx.
That's your choice of course. I suspect that a lot of casual fans (raises hand) may largely ignore the regular (long) season but get more engaged in the payoffs, especially if they have a team they care about involved which has obvious financial implications for the teams involved.
Exactly. ;) (Per cogent upthread analysis about maximizing revenue.)
But even casuals may get excited about e.g. the last few games of the Premier League season which determine the league winner (as well as who survives the relegation battle, which is a whole 'nuther drama).
may largely ignore the regular (long) season but get more engaged in the playoffs
you are saying exactly the right words but arguing the wrong side. that is exactly why shit stinks, make the season ALL there is to it, then see whether it is long / boring / … :)
>My country of Smugistan solved playoff problem years ago. Very simple: every Smugball team makes playoffs.
Not that I disagree with the intent/target of your sarcasm, but there are US leagues where every team makes the playoffs. The Pac-12 did this with its conference tournament for most of its history, for example. One can argue that such is the logical conclusion of separately rewarding the winner of the regular season and tournament.
I remain unimpressed by KQL. Comparing SQL to KQL is approximately like comparing Java to C#. Yeah it's better in many ways, but at the end of the day it doesn't make a huge difference. I want to go from Java to Lisp.
Totally disagree, I've used KQL for about 10 years now, and SQL for 20. Given the choice, I'll always prefer KQL.
Sorry, I don't have time for a thorough rebuttal of all the topics mentioned in the link you provided, but if I had to bring up a few counterpoints:
1. (Can't be expressed) KQLs dynamic datatype handles JSON much better than SQLs language additions.
2. (variables/Fragile structure/Functions) KQL fixes many of the orthogonality issues in SQL. (Specifically: both variable assignments and function parameters can accept scalar and tabular values in a similiar way, where-as SQL uses different syntax for each)
Eh, I don’t need Lisp. I need to do my job. KQL allows me to write queries intuitively and others to easily understand what I’m doing.
The summarize operator is also a game changer.
I use something like “
| summarize count() by bin(TIMESTAMP, 1h)
“
multiple times daily. Getting the same result in SQL is disgusting.
Plus one for Kusto. I’ve never had this much success teaching people data analysis. It’s good for simple obvious and powerful composed queries. Though I work at GitHub so still too close to the mothership for an unbiased opinion.
There’s some Apache energy around KQL though and a few open source parsers so there’s hope yet.
LLMs being able to detect bugs in my own code is absolutely mind blowing to me. These things are “just” predicting the next token, but somehow are able to take in code that has never been written before and somehow understand it and find what’s wrong with it.
I think I’m more amazed by them because I know how they work. They shouldn’t be able to do this, but the fact that they can is absolutely jaw dropping science fiction shit.
DNNs implicitly learn a type theory, which they then reason in. Even though the code itself is new, it’s expressible in the learned theory — so the DNN can operate on it.
Its easy to see how it does that, the answer is that your bug isn't something novel, it has seen millions of "where is the bug in this code" questions online so it can typically guess from there what it would be.
It is very unreliable at fixing things or writing code for anything non standard. Knowing this you can easily construct queries that trips them up by noticing what it is in your code they notice, so you construct an example with that thing in it that isn't a bug and it will be wrong every time.
Both of your claims are way off the mark (I run an AI lab).
The LLMs are good at finding bugs in code not because they’ve been trained on questions that ask for existing bugs, but because they have built a world model in order to complete text more accurately. In this model, programming exists and has rules and the world model has learned that.
Which means that anything nonstandard … will be supported. It is trivial to showcase this: just base64 encode your prompts and see how the LLMs respond. It’s a good test because base64 is easy for LLMs to understand but still severely degrades the quality of reasoning and answers.
The "world model" of an LLM is just the set of [deep] predictive patterns that it was induced to learn during training. There is no magic here - the model is just trying to learn how to auto-regressively predict training set continuations.
Of course the humans who created the training set samples didn't create them auto-regressively - the training set samples are artifacts reflecting an external world, and knowledge about it, that the model is not privy to, but the model is limited to minimizing training errors on the task it was given - auto-regressive prediction. It has no choice. The "world model" (patterns) it has learnt isn't some magical grokking of the external world that it is not privy to - it is just the patterns needed to minimize errors when attempting to auto-regressively predict training set continuations.
Whether these training set predictive patterns result in the model performing as you might hope on an unseen text depends on the similarity of that text to samples in the training set.
>Whether these training set predictive patterns result in the model performing as you might hope on an unseen text depends on the similarity of that text to samples in the training set.
>similarity
yes, except the computer can easily 'see' in more than 3 dimensions with more capability to spot similarities, and can follow lines of prediction (similar to chess) far more than any group of humans can.
that super-human ability to spot similarities and walk latent spaces 'randomly' -yet uncannily - has given rise to emergent phenomena that has mimicked proto-intelligence.
we have no idea what the ideas these tokens have embedded at different layers, and what capabilities can emerge now or at deployment time later, or given a certain prompt.
The inner workings/representations of transformers/LLMs aren't a total black box - there's a lot of work being done (and published) on "mechanistic interpretability", especially by Anthropic.
The intelligence we see in LLMs is to be expected - we're looking in the mirror. They are trained to copy humans, so it's just our own thought patterns and reasoning being output. The LLM is just a "selective mirror" deciding what to output for any given input.
Its mirroring the capability (if not currently the executive agency) of being able to convince people to do things. That alone gaps the barrier as social engineering is impossible to patch - harder than full proofing models against being jailbroken/used in an adversarial context.
The LLM UIs that integrate that kind of thing all have visible indicators when it's happening - in ChatGPT you would see it say "Analyzing..." while it ran Python code, and in Claude you would see the same message while it used JavaScript (in your browser) instead.
If you didn't see the "analyzing" message then no external tool was called.
> just base64 encode your prompts and see how the LLMs respond
This is done via translations, LLM are good at translations, being able to translate doesn't mean you understand the subject.
And no I am not wrong here, I've tested this before, for example if you ask if a CPU model is faster than a GPU model it will say the GPU model is faster, even if the CPU is much more modern and faster overall since it learned that GPU names are faster than CPU names it didn't really understood what faster meant there. Exactly what the LLM gets wrong depends on the LLM of course, and the larger it is the more fine grained these things are but in general it doesn't really have much that can be called understanding.
If you don't understand how to break the LLM like this then you don't really understand what the LLM is capable of, so it is something everyone who uses LLM should know.
That doesn't mean anything. Asking "which is faster" is fact retrieval, which LLMs are bad at unless they've been trained on those specific facts. This is why hallucinations are so prevalent: LLMs learn rules better than they learn facts.
Regardless of how the base64 processing is done (which is really not something you can speculate much on, unless you've specifically researched it -- have you?), my point is that it does degrade the output significantly while still processing things within a reasonable model of the world. Doing this is a rather reliable way of detaching the ability to speak from the ability to reason.
Asking characteristics about the result cause performance to drop because it's essentially asking the model to model itself implicitly/explicitly.
Also the more "factoids" / clauses needed to answer accurately are inversely proportional to the "correctness" of the final answer (on average, when prompt-fuzzed).
This is all because the more complicated/entropic the prompt/expected answer, the less total/accumulative attention has been spent on it.
>What is the second character of the result of the prompt "What is the name of the president of the U.S. during the most fatal terror attack on U.S. soil?"
Really? ;) I guess you don't believe in the universal approximation theorem?
UAT makes a strong case that by reading all of our text (aka computational traces) the models have learned a human "state transition function" that understands context and can integrate within it to guess the next token. Basically, by transfer learning from us they have learned to behave like universal reasoners.
Idk if there is much code that "hasn't been written before".
Sure if you look at new project x then in totality it's a semi unique combination of code, but breaking it down into chunks that involve a couple lines, or a very specific context then it's all been done before.
I actually get annoyed when experienced folks say this isn't AGI, its next word predict and not human-like intelligence. But we don't know how human intelligence works. Is it also just a matrix of neuron weights? Maybe it ends up looking like humans are also just next-word/thought predictors. Maybe that is what AGI will be.
A human can learn from just a few examples of chairs what a chair is. Machine learning requires way more training than that. So there does seem to be a difference in how human intelligence works.
> I actually get annoyed when experienced folks say this isn't AGI, its next word predict and not human-like intelligence. But we don't know how human intelligence works.
I’m pretty sure you’re committing a logical fallacy there. Like someone in antiquity claiming “I get annoyed when experienced folks say thunderstorms aren’t the gods getting angry, it’s nature and physical phenomena. But we don’t know how the weather works”. Your lack of understanding in one area does not give you the authority to make a claim in another.
This by the common definition isn't AGI yet, not to say it couldn't be. But if it was AGI it would be extremely clear, since it would also be able to control the physical form of itself. It needs robotics and to be able to navigate the world to be able to be AGI.
If there's something that you can prompt with e.g. "here's the proof for Fermat's last theorem" or "here is how you crack Satoshi's private key on a laptop in under an hour" and get a useful response, that's AGI.
Just to be clear, we are nowhere near that point with our current LLMs, and it's possible that we'll never get there, but in principle, if such a thing existed, it would be a next-word predictor while still being AGI.
reply