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
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
Can they build factories to brake too?
I use foam for vscode. Works great, is codium compatible, and is open source
Search input elements still don’t have a native “clear” button
JFC that’s been a thing in webkit for nearly 2 decades
Throw them into the ocean, same as all car batteries
Subaru Solana or whatever it’s called. I bought an ascent earlier this year, but it basically came down to splitting hairs when I went with it over the Solana. Absolute blast to test drive that thing, and I’d love to take it down to Moab or similar places.
Probably going to wind up leasing one next year, so I don’t have to worry about battery decline down the road
Not if they have a way to strip watermarks too, as has happened with every other system like this
In some places they are.
In Utah, for example, there’s a system called Utopia. They ran fiber all over the place, to the home in most locations. The fiber itself is an Ethernet network owned by Utopia. ISPs then just provide service over said Ethernet network. You can have multiple ISPs at the same time, and they don’t actually own the last-mile, or much else
If you can’t list em, you shouldn’t be able to charge for em
After switching to Pulumi, I don’t ever want to use terraform again
The amount of code you save grows with your codebase. It was 18% for that one, small example. In a larger codebase it can be quite a bit higher.
While I have, more or less, moved to just writing html-style templates, I do miss how easy it was to refactor something to have a different tag name. Vim and other editors do have shortcuts that make it easy to change both the opening and closing tag, but in indent based syntax, I didn’t have to worry about this. There was only one tag to change.
CSS has been growing a lot of “super powers” lately, that used to require a pre-processor. Custom properties (variables), nesting, calc
, and color-mix
used to be things we’d reach for a preprocessor for, but can now be done 100% in pure CSS. And generally, the CSS based versions are better than their old preprocessor counterparts. calc
can mix units, so you can easily do things like calc(100% - 1rem)
to subtract a rem from 100% of the parent container. Can’t do that in Sass. Custom properties can be set by Javascript, or by media queries, and follow CSS scoping rules. Thats how I handle light/dark mode on my site.
Builder is mostly targeted at building XML files, and so compared to XML its fairly terse. HTML is just a nice also-have. There are template langs in ruby that are a lot closer to the Elixir temple variant, but I can’t remember any of them off the top of my head haha.
A good template would make interfacing “easy”. JSX[1] is a very good example of how you can interface quite easily, and the templates used in Surface work really well to bridge some of the complexities of a server-rendered but client-dependent syntax.
I know JSX isn’t a template language, the differences don’t matter for the purpose of this discussion ↩︎
Nim does a lot of things very well, I love writing JSON and parsing JSON in Nim, probably the best experience I’ve had with JSON, followed shortly by just implementing it as a protocol in Elixir.
Karax’s pattern of just using language constructs to assemble HTML isn’t really novel, as nice as it is; Ruby has had one for ages in Builder (and several offshoots), Elixir has Temple, and there are probably some in other languages. They’re sort of one level of abstraction less than slim/haml, but its quite pleasant writing them. But they suffer some of the same issues Slim/Haml suffer, but also can suffer when trying to use them with component frameworks, or anything that exposes custom tags. This can, of course, be solved via metaprogramming or language-level templates, but it is a concern
Well it’s pretty much just HTML without brackets and closing tags. There are a few oddities to enable this, and it falls down on inline styles (in the same way json fails vs XML for inline formatting), but it is still pretty fun to write
But with the issues these languages are starting to manifest, that 18% isn’t worth it anymore
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