362 private links
ReliCSS is a "CSS hack" detection tool designed to help developers identify and replace outdated browser-specific CSS hacks with modern, standards-compliant alternatives.
Real-time "CSS hack" detection and analysis with instant feedback
Context-aware modern CSS suggestions
Client-side processing - your code never leaves your device
Differences:
light-dark()requires acolor-schemeprefer-color-schemedoesn't consider thecolor-scheme
They are browser specific (Payment API, Passkeys, Speech recognition). It matters because the portability between browsers is then an illusion, the respect of the privacy is unreliable and they are a way to keep small competitors out
The JS Date object is not consistent: there are quirks with its constructor, the JS date is a time object, no sense of time zones beyond one and GMT, absence of daylight savings time, a need for third-party library that is a performance drain. "My problem with Date is that using it means deviating from the fundamental nature of time itself."
The Time is a location in the flow of which events occurs.
Date represents a (readable for human) time
The date object is itself mutable, so it's ok to set a day in place. It can cause unintended side-effects in codebases.
So Temporal comes in. it's a namespace object like Math. There are multiple useful functions, but another magic is in the prototype chain: equals, add, inLeapYear, monthCode.
First, there are plenty of methods and properties devoted to access, format and manipulate the details of the temporal object.
Secondly, "none of these transformations required us to manually spin up any new objects, and that the value of the object referenced by nowTemporal remains unchanged."
Using temporal reduce the boilerplate so much!
Temporal.Now.plainDateISO().add({ days: 1 })
Also Temporal have some time for experimentation.
13 references one pointing to another. It's the maximum Rust ensure to support.
So why 14?
Seems like because Rust thinks that 13 references ought to be enough for anybody.
It's very chromium dependent though
Card content alignment with CSS subgrid
Handle the stripe webhooks for you. Only for React applications. It's a database that is always in sync.
We can compute the amount of red, green and blue with the rgb() function. The same applies to color functions.
hsl() has limitations because the percieved color is not consistent accross hue, saturation and lightness values. That's why oklch comes in: it's a 2020 patch of the 1976 version of lch, that itself improves over hsl.
Also color-mix can be used in different color spaces. Transparency is available when two colors have a sum less than 100%, or mix one color with transparent.
In order to avoid repetition, custom functions is coming to CSS.
While some of what we looked at does require some setup — once it’s in place, we can create very robust systems, and, along with the static world of design software, it does beg the question if more design should be done directly in the browser.
#idea #project create the colors of a design system directly from the browser.
The permission system should handle folders and files.
Strategies:
- (naive) read-time permission queries
- A simple table (RBAC role based access control).
-- RBAC: Pre-computed permissions
-- access_type: 'owner' (full control), 'shared' (read only), 'path_only' (visible but no access)
CREATE TABLE permissions (
user_id INTEGER NOT NULL,
resource_id INTEGER NOT NULL,
access_type TEXT NOT NULL,
PRIMARY KEY (user_id, resource_id),
FOREIGN KEY (user_id) REFERENCES users(id),
FOREIGN KEY (resource_id) REFERENCES resources(id)
);
- Attribute-Based Access Control
This approach is very clear and composable. It works great for single-resource access checks: "can user X access resource Y?" It struggles when listing resources, as we would need to execute the policies for each resource and can't directly query the resources table with simple filters.
- Zanzibar and ReBAC
Using text files. The expenses can be tracked with beancount. It tracks many in or out of many bank accounts with the "double-entry accounting".
Documents can be attached to transactions, etc...
The dataflow is the following:
- Download transactions from the bank (csv, pdf or ofx files).
- Convert these files to the beancount format. There are many plugins available.
- Balance the transactions to get the "double-entry accounting"
In my experience so far, it has been the exact opposite. The entire process has never taken me more than 45 minutes to finish. Considering that I do this once a month, the time investment seems more than fair. And the added benefit is that by balancing these transactions by hand, I get a fairly good idea of what was happening in my accounts in the previous month.
Visualization can be made with SQL queries, or Fava as UI. See a demo
It is interesting to know how because it goes in depth of the elliptic curve used for encryption.
Use cases for HTML only:
- Accordions
- input with Autofilter suggestions dropdown (
<datalist>) - modals / popover with
popoverandpopovertarget
TL;DR; use a negative GRAD value
GRAD stands for "grade", and it's a variable font axis that allows us to adjust the perceived weight of a font without changing the glyph size.
GRAD stands for "grade", and it's a variable font axis that allows us to adjust the perceived weight of a font without changing the glyph size.
body {
--GRAD: 0;
font-variation-settings: "GRAD" var(--GRAD);
}
@media (prefers-contrast: more) { body { --GRAD: 700 } }
@media (prefers-contrast: less) { body { --GRAD: -50 } }
@media (prefers-color-scheme: dark) { body { --GRAD: -50 } }
@media (prefers-color-scheme: dark) and (prefers-contrast: more) { body { --GRAD: 150 } }
@media (prefers-color-scheme: dark) and (prefers-contrast: less) { body { --GRAD: -150 } }Wayyy to advanced for me currently
A new standards compliant HTML5 parser in pure python code
Selon le besoin ou une question, le service propose un tag HTML dédié: button, a, output,. ...