> Novel unified architecture: No multimodal encoders. The vision and audio inputs flow directly into the LLM backbone.
I would be interested in how this actually works. I couldn't find a description of the model architecture (and I did check the links in the Google blog)
My understanding is that early (and most extant) visual language models have a component module (called the image encoder) that transforms images into representations (called embeddings) the model's inner layers can process.
This is often a separate module grafted onto the main model, and further pre-trained (e.g. OpenAI's CLIP, SigLIP used in the Gemma 3 and PaliGemma series).
The image encoder approach has a few problems.
One problem is that many like Gemma 3's encoder have fixed image resolution constraints and inputs must be resized with all the attendant distortions that causes with spatial understanding. However, the Gemma 4 series image encoders overcame this and can handle variable-dimension inputs.
Two, these image encoders are somewhat large (ranging from 300-500M parameters) requiring extra memory and FLOPs to run.
Three, say we need to fine-tune a vision language model, updates to its weights, may affect its understanding of the representations generated by the image encoder if we don't fine-tune both together.
The new Gemma-4-12B replaces the encoder (with its many attention layers and large parameter count) with a simple linear projection to generate the embeddings for images. That reduces the computational requirements and simplifies the input pipelines for image processing.
I don't have any expertise on the topic though and might very well be wrong on some details.
Most of SQL is not imperative, but it certainly also includes some imperative commands.
Inserting a new row into an existing table is an imperative command, which may be the most frequently used of the SQL features, in certain applications concerned with recording transactions.
Only the subset of SQL that is used for queries can be said to not be an imperative programming language.
No. Standard DDL and DML are declarative in SQL, including DROP and INSERT. Those still don't tell the system how to accomplish the thing. Declarative doesn't mean idempotent, and it doesn't mean stateless.
Imperative SQL is the procedural elements that mostly do not exist at the standard level. Variables, control flow, and cursors.
Anything that causes a persistent change of the state of a system is imperative, regardless of how detailed the command is.
printf("Hello world!");
also does not tell anything to the system about how to accomplish this.
Anyone who claims that an SQL command like insert a row, create a table or destroy a table is not imperative, is just plainly wrong.
Even in real life, when humans communicate commands to each other, from where the term "imperative" comes, the commands normally do not tell anything to the recipient about how to accomplish the order, they just name the action, because it is supposed that whoever receives the command knows how to do it.
After programming languages were invented there was a clear partition between commands a.k.a. imperative statements, expressions and definitions a.k.a. declarations ("definition" and "declaration" were originally synonymous terms, "declaration" being the ALGOL 60 term and "definition" being the CPL term; the use of the 2 words with different meanings, like in C, where it is required by a defect of the compiler, which needs additional declarations besides a definition, is only recent.)
Later the meanings of these terms have become muddled by their careless use by many authors, which usually had political reasons, i.e. because they somehow considered the words "imperative" or "command" as shameful, they attempted to present their pet languages as purely functional or purely declarative, so they twisted the words in various ways, despite the fact that any practical program must contain imperative parts, not only functional or declarative parts.
> Anything that causes a persistent change of the state of a system is imperative, regardless of how detailed the command is.
No. That's more to do with imperative vs functional programming, which is a subset of declarative, but even then you can't simply say "I changed state so it's imperative." That's a drastic oversimplification. That's like saying Haskell can't write to a file, which is plainly false. Declarative (functional) can absolutely change the state of the system. It just doesn't let you do it except by calling fixed commands, which is exactly what `INSERT` is.
When we're talking about imperative vs declarative, state can still be manipulated in both, but it's abstracted away with declarative programming. Like, a `filter()` or a `map()` transform in JavaScript is declarative programming, even in an otherwise imperative language. That's why it returns a new object with an updated state.
This just exposes how weak this definition of declarative is, I think. Or how it's carrying two meanings here.
What you're really talking about is one of the things Codd wanted to emphasize: representational independence. Which actually was the primary thrust of his famous paper: the user should not need to know how the data is stored in order to use or manipulate it.
The other thing that people are talking about with "declarative" is probably another level up in abstraction. Talking about the business logic or problem in terms that are closer to logic than a sequence of instructions, and then letting the machine sort out what those steps are.
Consider in a Datalog users don't customarily perform DDL type operations; they declare data rules and the system decides the form of the underlying relations. That's a small step up the declarative ladder from SQL, even if it's somewhat analogous to "create view".
So I think there's a blurry definitional line between the two. But I don't think your very blunt "No." is doing much to help clear that up?
I would say it exposes how imperative programming was forced to adopt declarative/functional paradigms in order to write things concisely, to the extent that nobody thinks those elements are declarative/functional anymore.
C#,C++, Java seems imperative. You are in control? But you aren't really telling it how to move values between registers, the compiler is making a million decisions for you on how the computer will execute that 'imperative' code. Just like SQL isn't really telling the DB how to do it either..
It's really a matter of degrees though. You're waving away a big part of the big sell of a relational database as proposed by Codd, which is that the user need not "know" the structure of the data in order to formulate operations on it because there's a consistent set-oriented model that can be used with a bunch of different physical storage forms but also the very sequence of relational operations against it can be re-ordered / restructured without the user knowing. And that the same data can be accessed in N number of ways that don't require changing the underlying storage. In theory. In practice SQL databases are only sort-of there.
Contrast that if I create a class/object/field structure/hierarchy in Java, or put a HashMap somewhere with a certain set of keys, I've written something in stone which requires significant refactoring if the data needs to be accessed from a different direction.
Imperative languages such as C/C++ specify "microtransactions" - an ordering over memory accesses (including (de)allocations) within some statement or group of statements.
Compilers are free to rearrange these accesses if the final result is same as if executed by these ordered microtransactions.
Since Codd's paper showed that the relational model dominates other approaches (for data storage) I would expect a paper that shows categorical database are not affected by this and what benefit they have.
While the relational model is claimed to be based on relations, the vast majority of the "relations" used in practice are functions, not general relations.
A general relation exists only between the columns of a table that are included in a multi-column primary key.
All columns that are not part of the primary key are functions of the primary key.
Most tables used in practice use a single column as the primary key, which is frequently just a number or a UUID. Most databases contain only tables that are functions, without any table that contains general relations.
The most frequently used kinds of joins are just function compositions.
Query 1 from TPC-DS creates a multi-column relation by using GROUP BY. Which relation is then partially constrained by different columns from different tables.
"Know your place" is what came to my mind when I looked at this.
I get that they think about going away from the combustion engine, but as a manufacturer of insanely expensive, loud and overpowerd sports car this doesn't make sense.
It's like if I as a software dev would be worried about the future market and suddenly advertise myself as a psychologist in search for clients.
It can be nuclear powered, so you don't have CO2 emmisions /S
You just need to add heat to the air at the point where the diameter is the lowest.
The russians are maybe using this idea for one of their new cruise missles named Burevestnik, although for them the nuclear emmisions are likely a positive side effect.
Only for quantities consistent with trafficking, meaning a minimum of 500 grams. You won't be hanged for a joint.
You may, however, be sent to the Drug Rehabilitation Centre, which is co-located with and effectively a part of Changi Prison, and about as pleasant. Most first-time offenders get away with a probation scheme called the Enhanced Direct Supervision Order though.
And that makes it a super pleasant place to live, I don't ever have to smell that junk on the street. I prefer the smell of good food and that's pretty much what all of Singapore smells like.
Others have already replied this is not exactly the case and it's trafficking weed and other drugs that gets you hanged.
That being said, I'm not so chill about weed. Weed people, like smokers before them, don't consider weed to be a big problem for the people around them and ignore anything you might have against it. That means you'll be laughed at when you ask neighbors to stop smoking two floors below you, to stop growing the plants in their tub, etc. It also means you'll have to go through a lot of places that smell like shit because people smoke weed there often.
> I'm also a bit confused about how the people on the top think this will play out.
I don't know if they are really capable of thinking of the second and third order effects of what they're doing. There is something psychologically broken about many of the ultra-rich today where their behavior comes across as compulsive.
When you have a hole in your soul that can't be filled with a billion dollars, it simply can't be filled, and that black hole drives much of their behavior. You look at people like Trump and Musk, and they seem... miserable. Like, have you ever heard Trump have a genuine laugh of joy? Not the sort of sneering snicker of a bully, but one that comes from delight? Because I haven't.
We are all at the mercy of their actions, but it's almost like they're at the mercy of their irrational compulsions too.
Not that I'm saying they are deserving of sympathy or aren't responsible for their actions. But if we're looking for someone to pump the brakes on the crazy that's happening these days, it's sure as hell not going to be those hollow men.
I don't like being conspiratorial but it genuinely feels like the people at the top know some major catastrophe is coming and are just grabbing whatever resources they can while they can before retreating to their bunkers. Even the white house is trying to build a massive underground bunker using the ballroom on top as a excuse. I don't see why else they would all be willingly destroying society as they are right now unless they don't think it matters.
I still enjoy the things that are not overtaken by big tech (although it isn't much). Anna's archive and streaming niche movies.
I miss the old forums the most. The group mind on Reddit is just regression to the mean.
The rest I tried to cut back as much as possible for my own mental health.
I can't get of YouTube completly even though most of the time I hate myself after doom scrolling. Sometimes I still find genuinely interesting stuff there.
I would be interested in how this actually works. I couldn't find a description of the model architecture (and I did check the links in the Google blog)
reply