347 private links
All comes down to good HTML, CSS and JS
How to test load you own application? and use of K6 for it.
This service provides the RSS feed of youtube channels directly.
Extracts the Channel ID from YouTube's source code
Better than a small youtube to RSS script that returns the RSS for the channel.
The service don't generate the RSS feed itself, but rely on the server: https://watchrss.de/f/WMMHfSH4PU
I personally always use and recommend FROM scratch images. It not only saves storage, traffic and reduces deployment times, but it also removes most, if not all, lateral movement avenues that attackers could use to escalate after an initial exploitation.
The only situations where you would want to reach for alpine or debian base images is if you need external tools and programs that can't easily be compiled and embedded in your FROM scratch image (e.g. chromium, ffmpeg, pandoc...). In this situation, I will always prefer alpine images because packages are more up-to-date and generally work without any problems.
It seems Rust is built for Parse, don't validate. The invariants are encoded in the type system.
- https://docs.rs/nonempty/latest/nonempty/ crates ensure
.first()always return - AbsPathBug is useful because Subsequent code doesn't have to validate the the path is absolute. The type enforces it.
NonZeroensure the 0 value doesn't exist on the number type. Rust cam also optimize the memory used forOption<NonZero>by using the zero value asNone.
A desctructive font editor
The rewrite use FFI instead of a NodeJS subprocess. The rewrite occured component by component compared to Bun.
The agents used most of their time for reading and searching. It costs 120 000$ in tokens.
The rust version takes 55.3ms to create run on turn and dispose a client session; memory peak usage went from 1 383MB to 126 MB.
(from Let's get Rusty - AI loves rewriting codebases to Rust
Anthropic et OpenAI baissent leurs prix et, franchement, ce n’est pas une bonne nouvelle.
Ce n’est pas une preuve en soi, mais c’est un signal : si ces baisses ne viennent pas seulement de gains d’efficacité, elles montrent que la valeur créée ne suffit peut-être pas à soutenir les prix attendus. Même avec un marché concentré entre deux ou trois gros acteurs, les investissements restent difficiles à rentabiliser, alors que ces entreprises perdent déjà des milliards.
La bulle dépasse tout ce qui a existé par le passé, et on en est encore là.
Non, franchement, ce n’est pas une bonne nouvelle. On continue de courir vers le mur.
Change the name, but not the state, of play/pause buttons. Use state for all other toggle buttons.
As a final note, never change both the name and aria-pressed state in tandem. That way, confusion lies. Just imagine trying to parse the meaning of "play button, on" vs. "pause button, off".
The most innovative and productive companies I’ve worked with had something in common: employees used the company’s products because they wanted to.
That willingness to use the product tells me more about a company than the size of its budget.
A company can hire excellent people and have a convincing plan for the future. But neither guarantees that anyone there will choose the product when they have a choice.
So when I think about what helps a company come up with useful improvements, one of the first things I’d look at is whether its employees choose to use what they’re building.
La solution de notre RFC est de permettre la définition de profils, un profil étant une définition de ce qui est nécessaire dans un objet JSContact. Ainsi, une application qui n'a besoin que de peu de données peut utiliser JSContact au lieu de définir son propre format. Le registre central permettra de trouver et de référencer facilement les profils. (Aujourd'hui, aucun n'est enregistré.)
JSContact vise à remplacer vCard (RFC 6350) et sa déclinaison jCard (RFC 7095), complexes et difficiles à traiter.
Ce RFC normalise des profiles en JSContact, afin qu'une application utiliser JSContact au lieu de définir son propre format de données.
Un profil est donc un ensemble d'élements JSContact, stocké dans le registre IANA.
Ouch, ils vendent donc les données des clients, et confirment afficher des publicités.
Graceful degradation is the opposite to progressive enhancement because a pre-determined “perfect experience” is authored then broken down with support testing strategies instead. The problem with that approach is everything can and will go wrong in the browser, so support testing strategies will unlikely never be reached in a lot of cases, which results in a broken, unresponsive user interface.
The final deliverable of a web-based design is on the web, just like the final deliverable of a print design is print. Instead of handing off, designers and developers need to work in collaboration with each other in design implementation with a culture of flexibility.
The AI websites are actually pretty slow, so does SPAs and the instability of big actors recently (GitHub)
Blurhash again :)
The author suggest a new previewsrc attribute to replace blurhash.