HNHacker News
TopNewBestAskShowJobs

adamschwartz

1,532 karma · joined August 23, 2012

https://adamschwartz.co
submissionscomments
adamschwartz··on Curvature Beziers: Improving on a timeless recipe
What an amazing resource.

I’ve been building a vector editor that by default draws shapes with smooth curvature and shows the comb. [1] In addition to the four point types mentioned in the article, you get a new “curve” point type. I’ve also been making a font editor with the same drawing capability. [2]

Both are free static web apps that use local storage and have import/export capability for SVG files (and OTF files for the font editor).

[1] https://svg.a10z.co/editor

[2] https://svg.a10z.co/font

adamschwartz··on No config? No problem. Just `wrangler deploy`
This is brilliant.

Does/could it also fill out an existing `wrangler.jsonc` that’s not fully filled out? Another helpful thing could be prompting when for example the name in package.json mismatches the worker name, etc.

adamschwartz··on Show HN: Clawe – open-source Trello for agent teams
How about clamban[dot]ai? (It is available.)
adamschwartz··on Show HN: Minimalist editor that lives in browser, stores everything in the URL
Try https://a10z.co/note
adamschwartz··on Pluribus takes down Apple TV
Widespread reports of Apple TV being down, status page not updated yet (as of 7:41 PST).
adamschwartz··on Apple M5 chip
Also ~200g heavier due in part to the counterweight in the new strap.
adamschwartz··on Show HN: Lights Out: my 2D Rubik's Cube-like Game
The game is initialized with a guaranteed solvable board:

https://github.com/RaymondTana/Lights_Out/blob/31fe5e866c45c...

adamschwartz··on Show HN: Lights Out: my 2D Rubik's Cube-like Game
Yea that can shave a few moves off.

For fun you can also, for example, invert any board in N moves by tapping every cell straight across any row or column.

adamschwartz··on Show HN: Lights Out: my 2D Rubik's Cube-like Game
Memorize which cells are white when the board first loads. Tap all of those in order without regard to the way the board changes as you go.

Edit: above tested for 5x5 rows&cols. For even boards it seems there’s a small end-game to repeat the process — something about parity I assume.

adamschwartz··on Tell HN: Phishing campaign claiming to be GitHub Developer Fund
And now https://github.com/notify-chains/gitcoin.com :(
adamschwartz··on The Block Stacking Problem
That general structure looks somewhat like Edward Tufte’s work.

https://edwardtufte.github.io/tufte-css/

https://github.com/edwardtufte/tufte-css

adamschwartz··on A gentle introduction to anchor positioning
It solves many of the pain points Tether[0] tried to solve.

For example it helps when the anchoring element is inside of an oveflow hidden/scroll container, but geometrically you need the tethered element to sit/extend outside of the container (so—for now at least—its DOM node needs to be outside of the container).

[0] https://tetherjs.dev

adamschwartz··on Show HN: CSS generator for a high-def glass effect
I’m confused, but maybe two wrongs here do make a right. Please allow me to explain.

Putting aside for the moment that I personally find Apple’s iOS 26 design objectionable[1], I don’t understand why `backdrop-filter: blur` is the focus of recent implementations jumping on the Liquid Glass hype train.

Using background blur to create UI layer separation (often in combination with darkening/saturation or other contrast enhancements) has been around for over a decade on iOS and almost as long on the web. So what’s new here?

Adding to my confusion, I’m a bit surprised folks here think this is so challenging in CSS. A few commenters have pointed to great implementations elsewhere, but I think they’re underselling them.

Plainly: the solution that involves `backdrop-filter: filter(#filter)` where `#filter` references an inline SVG embedded with `<feImage/>` and `<feDisplacementMap/>` works very convincingly well.

Check out this demo for example:

https://codepen.io/Mikhail-Bespalov/pen/MYwrMNy

This implementation choose to hard-code `<feImage href="data:image/png;base64,..."/>`. But if glass3d.dev chose to implement 3d highlights in a similar fashion (and wanted to support e.g. a dynamic `border-radius`) this image could easily be rendered in the browser runtime in canvas, and dumped into the CSS using `toDataURL()`. Similarly, a component library with a CSS pre-processor could generate these for any static shape at build-time.

The closest thing I’ve seen to this is:

https://ruri.design/glass

These implementations are out there.

Coming back to the why/should for a second though.

[1] In its current realization, Liquid Glass cannot effectively replace what blur accomplishes. Because Liquid Glass layers are more transparent, the contrast issues are real, and the spectral highlights distract the eye as much as (or more than) they help make up for that lack of contrast. It draws attention to the eye where blur would relax it. It’s a UI meant for an XR system (where it arguably solves a real problem, much like a HUD does in a video game) hacked into devices where it makes no sense, all in the name of a “unified OS” design language.

If any aspect of Liquid Glass is successful it will be when it’s used sparingly to delight in places that are low stakes and where other affordances are present (like a small circular button floating in the corner of the screen with hardware concentricity). A circle shape’s refractions would be smaller, softer, more symmetrical, and therefore arguably less noisy/distracting—in a way resembling a softer blurry background.

Which brings me full circle back to two wrongs.

This website doesn’t do anything new, but that’s why it’s good. Because the truth is, Apple failed to deliver a Siri-based LLM on a schedule it announced and is now trying to distract us with some shiny new thing. Damn, it worked.

adamschwartz··on [dead]
Duplicate of https://news.ycombinator.com/item?id=25947168
adamschwartz··on New and improved Workers Docs
Gatsby is pretty powerful but also quite complicated and has a fair amount of issues to deal with.

For example it was pretty unergonomic to set up support for deploying to a `pathPrefix` [1] while retaining the ability to develop locally [2].

Nevertheless, we were able to make it work and have been relatively happy with Gatsby overall.

Absolutely! The docs are dual MIT and Apache licensed [3] so have at it. One note: we have not yet completely teased apart the so-called “engine” from our particularly implementation itself. This is something we’re planning to do, in part because we need to to support our other docs sites. You may find it easier to work with once we’ve done that. That being said, you can also just fork the repo, change the content and branding, and things should mostly “just work”. Of course if you run into issues along the way, we’d be glad to have contributions back to the project itself. Good luck!

[1]: https://git.io/JUJsy

[2]: https://github.com/gatsbyjs/gatsby/issues/16040

[3]: https://github.com/cloudflare/workers-docs-engine

adamschwartz··on New and improved Workers Docs
(Designer of the docs)

We also published as part of this release some documentation for the so-called “Docs engine” which powers these new docs, which may somewhat answer this question.

https://developers.cloudflare.com/workers/docs-engine

(Note: They currently live within the Workers docs site for now but will get a proper home soon.)

With respect to the information architecture and content design, much of that is discussed in the Contributor’s Guide [1] and Docs-flavored Markdown [2] pages.

The very short version is that we borrowed many ideas from Divio’s documentation system [3], which recommend dividing your content into four distinct buckets: Tutorials, How-to Guides, Explanation, and Reference.

The layout and visual design were inspired by dozens of other docs sites we tested and studied, stealing the best ideas we could from everywhere we looked.

It’s also worth noting that the Cloudflare Workers docs have been open-sourced for over a year now [4], and these new docs (as well as the new engine which powers them) will continue to carry the same license. Contributions are welcome and we’re hopeful and excited to see further uses of the docs engine over time.

[1] https://developers.cloudflare.com/workers/docs-engine/contri...

[2] https://developers.cloudflare.com/workers/docs-engine/docs-f...

[3] https://documentation.divio.com/

[4] https://git.io/JJAWP

(edit: formatting)

adamschwartz··on No Paint
I found it very relaxing. Quicksand is great.

https://imgur.com/a/ZtsGo2Q

https://imgur.com/a/3PAHGJj

adamschwartz··on Is BGP Safe Yet?
(Designer here) YES! `currentColor` is amazingly useful and supported everywhere https://caniuse.com/#feat=currentcolor
adamschwartz··on Is BGP Safe Yet?
It’s really just using CSS to animate regular HTML elements. SVG is used for the icons (the laptop, server, cloud), but the grid lines, connection lines, and packet animation are all just plain `<div/>`s :P

But you’re totally correct about the JS only toggling between path="happy" and path="sad"

adamschwartz··on Is BGP Safe Yet?
(Designer of the site) This is such a great point, and something I’d definitely like to tackle in a future iteration. Thanks for the push in that direction!
adamschwartz··on Is BGP Safe Yet?
Yup, they were coded by hand!

Here was the initial commit which added the first diagram (originally there was only one):

https://git.io/JfJ4K

adamschwartz··on Introducing the HTMLRewriter API Beta to Cloudflare Workers
Check out https://web.scraper.workers.dev for an example of HTMLRewriter in action! Here’s the gist of it: https://git.io/Jen4K.
adamschwartz··on Porting my website to Workers Sites and Zola
Totally! I do that for small sites quite often, e.g.:

- https://lazy.invoice.workers.dev

- https://web.scraper.workers.dev

Both are powered in part by a worker which generates CSS on the fly for whatever components you need, e.g:

https://ui.adam.workers.dev/?components=button,input

adamschwartz··on CSS Houdini Interactive Introduction
Check out https://css-houdini.rocks instead. Really well put together.
adamschwartz··on Open Letter from the OpenID Foundation to Apple Regarding Sign in with Apple
Trusted Execution Environment
adamschwartz··on Cloudflare Says Its New VPN Service Won’t Slow You Down
Direct link to the site: https://1.1.1.1/
adamschwartz··on The Magic of CSS
> The content is dated, using hacky techniques to work around deficiencies that no longer exist.

While I certainly agree that a lot has changed in the 4 years since Magic was authored, I think this statement is a little strong. I’d argue that chapters 1, 4, 5, and 6 hold up quite well and that 2 and 3 still contain useful information for newcomers to CSS—despite the absence of flex.

A chapter on flex is long overdue, no doubt, and chapters 2 and 3 should be written with this in mind. I’ll definitely get to it at some point, but I’d also be happy to collaborate with the community if anyone were interested in submitting a first draft [1].

[1]: https://github.com/adamschwartz/magic-of-css/pulls

adamschwartz··on Show HN: EmbedBox, an Open-Source UI to Get Your Embed Code Installed
Looks beautiful!

We made some improvements to the way theme colors work [1] so you’ll want to upgrade your version to take advantage of that. Thanks so much for using EmbedBox! If you have any feedback on the integration process we’d really appreciate it.

[1]: https://git.io/viR8p

adamschwartz··on Show HN: EmbedBox, an Open-Source UI to Get Your Embed Code Installed
Thank you!

If you ever do, please let us know. We’d love to add https://chatlio.com to our list of companies using EmbedBox.

adamschwartz··on Show HN: EmbedBox, an Open-Source UI to Get Your Embed Code Installed
Thanks! That’s amazing. :) Let us know if you run into any trouble.

Oh also, once you’ve finished implementing it, we’d be happy to add https://rakam.io to our list of companies using EmbedBox.

Page 1 of 2Next →