Paywalled article 🙃
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
For me the problem with AW, more than the boring gameplay loop, is the weird episodic format they shoehorned into it. You'd just be getting into the groove of the game, used to the annoying combat and stealth and such, and then it yanks you out of it and you have to watch an end of episode cutscene, and then a new episode cutscene, just to continue on
Control is awesome. I was hoping AW2 would be more like control, but from what we've seen in the media that doesn't seem to be the case. Still holding out hope
Kagi summary:
- The Android Market (now Google Play Store) was launched in October 2008 with the T-Mobile G1 phone, helping establish app ecosystems on mobile.
- Before app stores, finding and downloading apps was difficult through various online stores and carrier stores with limited selection and updates.
- The Android Market centralized the app experience and discovery, giving access to a growing variety and number of apps in one place.
- Early app successes helped drive more users, phones, developers and apps in a reinforcing cycle that grew the app economy exponentially.
- Popular early apps filled gaps in Android's capabilities in areas like weather, file management, flashlights as built-in features were still being developed.
- Later apps brought extra abilities beyond necessities, like music streaming, ebooks, games, social media and more.
- The article reminisces on the novelty of app stores and ecosystems in their early days compared to their ubiquitous presence today.
- Over 100,000 apps were available by mid-2010 and over 3.5 million apps today on Google Play.
- We now take app discovery, updates, and the overall app experience for granted due to how well app stores do their job.
- The article credits the Android Market and Apple App Store for establishing apps as the norm and changing our expectations of mobile.
I have 10 gig at home, and powerful enough networking hardware that can take advantage of it (Ubiquiti stuff)
Nothing can ever saturate the line. So it's great for aggregate, but that's it
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
Weesa doo no like aaahfoll tok
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
Peter Cushing was hardly inexperienced
Honestly, for games, it's got even more potential. Imagine if the NPCs in games actually said your characters name, not just "dragonborn" or whatever
Imo the smart thing for VAs to do would be get in front of it. License their voices to models, and charge royalties for said models
Best? Kagi. Best free? Probably bing or searx