![](https://lemdro.id/pictrs/image/65c0e7a1-a8f2-47c3-b775-e87fe463ad98.png)
![](https://fry.gs/pictrs/image/c6832070-8625-4688-b9e5-5d519541e092.png)
Google has been doing on device stuff since at least the pixel 3
Google has been doing on device stuff since at least the pixel 3
Can we just have both entities annihilate each other? Please? They’re both shit
It’s not a now thing. It’s already here. My thermostat, sprinkler controller, and rice cooker all run Android
Federated directories. We’re going back to Yahoo like it’s 1995
And it’s still worse than a picture of a hill in Sonoma
Replace the CEO with an AI. They’re both good at lying and telling people what they want to hear, until they get caught
Alexa and Google home came out nearly a decade ago
I quite like kagis universal summarizer, for example. It let’s me know if a long ass YouTube video is worth watching
So you want Kagi
How about they cut executive pay instead of fucking the rank and file over
Apologies are free and valueless
But you don’t have to go sketchy off brand. You can get Ubiquiti if you want a really good system, or eufy or reolink if you don’t want to muck about with the sysadmin stuff Ubiquiti requires
Can we start with the CEOs? Pretty sure shatGPT can do their jobs easily
Apple has done this many times before. Over even more frivolous patents (i.e. a glossy black rectangle)
They made their bed, now they have to lie in it
No. You’d use something like rev.2020 or some other wide gamut color space. Jxr already supports this, and some programs, like the Xbox, take hdr screenshots as jxr
They can both model any color equally well, it’s just oklch works even closer to how we perceive colors changing. LAB and all derivatives are in Cartesian space, with luminance, a, and b being the defining axises. Luminance is self explanatory, but a and b are just axises of how much red/green and blue/yellow there is. It can be difficult to think of a color in how much blue it is, for example, when the color is something like nearly pure red. They both affect the hue output, so varying one can create strange, unintuitive colors
LCH works in polar space, like a color wheel. L is still luminance, c is the “colorfulness” and h is the hue. H and C let you set the same values a and b would, but in a more human way. We’re used to thinking about colors changing independent of how much of a color there is, and that’s what LCH does. Vary only the h and you get very different colors. Vary only the c and you get the same color but in different amounts of saturation, from full color to no color
True, however it occupies the same niche an ORM occupies, without the foot guns. Updating a slew of different db tables from rather clean and straightforward models is relatively simple. It tries to live somewhere between just doing everything as SQL and abstracting everything away like AR does, giving you conveniences from both approaches. You don’t get mired in scoping hell, but you don’t have big ugly messes of nearly-identical SQL statements either.
i’d recommend trying it out https://hexdocs.pm/ecto/Ecto.html
Data comes out as a map or keyword list, which is then turned into the repository struct in question. If you want raw db data you can get that too. And you can have multiple structs that are backed by the same persistent dataset. It’s quite elegant.
Queries themselves are constructed using a language that is near SQL, but far more composable:
Repo.one(from p in Post, join: c in assoc(p, :comments), where: p.id == ^post_id)
Queries themselves are composable
query = from u in User, where: u.age > 18
query = from u in query, select: u.name
And can be written in a keyword style, like the above examples, or a functional style, like the rest of elixir:
User
|> where([u], u.age > 18)
|> select([u], u.name)
None of these “queries” will execute until you tell the Repo to do something. For that, you have commands like Repo.all
and Repo.one
, the latter of which sticks a limit: 1
on the end of the provided query
I much prefer the repository pattern, as used by sequel and Ecto
Your models are essentially just enhanced structs. They hold information about the shape of data. Generally don’t hold any validations or logic related to storing the data. You perform changes on the data using changesets, which handle validation and generating the transaction to persist the data
It works extremely well, and I’ve yet to encounter the funky problems ActiveRecord could give you
Almost like using a single giant wiper is a bad idea
Bbbbbbbut it looks cool!