semolino
semolino on Hacker News
Great doc. Also recommend the classic Encounters: Twitchers (1996) as a spiritual precursor.
The PS2 save file models also had state animations. For example, if you hovered over "delete", a character would get on their knees and beg to be spared…!
Are those tubal ligation scars on the mascot?
Ah yes, the button that summons the "cannot edit avatar while driving" toast upon accidental press.
Trailers are there to give you time to complain to the projectionist about chromatic aberration and have them fix it before the feature.
Lots to dig in to here — thanks for posting. Internet Archive says the site has been around since ~2010, which is a likely indicator that its current iteration is handmade :)
Most webpages that function as simple documents can be built without JS. If you build webpages, you probably have an intuition for what kind of functionality necessitates JS. When a webpage requires that users enable JS, then, when it doesn't seem like it should need it, that's a signal of either developer laziness or nefarious behind-the-scenes activity (tracking, etc.).
Upon inspecting with developer tools, I was pleased to find that <marquee> supports GPU acceleration. I vaguely recall reading lore of someone refactoring it up to modern standards in chromium a few years back.
I didn't intend to sound so sure :)
Yes, perception of entities during psychedelic experience is unhinged paredolia: psychedelic substances obliterate the squelch for our pattern recognition systems, of which paredolia is one. Deepdream slugdogs are sort of a synthetic analogue to this.
The page would benefit from
image-rendering: pixelated;
in the CSS which would probably(?) prevent the headache-inducing effect, which I'm guessing comes from the hard edges of the background image tiling contrasted with the bilinear upscale blur.
The site looks like it was abandoned in 2023, however.
You can style a link however you want, and nest a <span> inside it if necessary.
EDIT: CSS also has appearance: button;
Awesome. Such clean abstractions are inspiring and make me wanna do something with canvas. I also like that the homepage animations are done with CSS.
Here for additional modern demoscene-style websites if anyone knows of any.
This method should still support GPU acceleration, as `transform` (or rotate/scale/etc.) is the only property being animated. The benefit of animation-timeline seems to be that it's much easier to set up than a CSS perspective context.
You can have a dynamic camera with 3D CSS only and no JS. The trick is move the scene instead of the "camera". CSS Doom uses this technique (although unlike the project I'm working on, it relies heavily on JS for the interaction logic).
My read on HN comment sorting is that just like its frontpage, everyone sees the same comment page. New comments are added to the top, and quickly sink below others unless they are engaged with.
This is just a guess tho, as my account can't (yet?) see comment upvote counts.
Could you clarify what you mean by saying it may be both unaffordable and surprisingly cheap? (Expensive but less than expensive than it could be? Expensive but of poor build quality?)
Also why would you want/need someone else to purchase it for you? Because of your country's import laws, or reasons related to privacy/anonymity?
The main difference is tweakability: With classical generative and algorithmic composition, the human can change parameters in real time and more closely guide the shape of the piece.
Design is delightful, great job.
The radial glyph wave animation is also really cool, but the novelty will wear off and the delay will become grating especially if one is using the app in a utilitarian manner. Consider skipping transitions/animations if the user signals a preference for reduced/removed motion. Alternatively, you could add an on-page toggle for animations.
Taking shortcuts with design tends to result in users trusting your project less.
How about the most depraved volume control design of all: the actual reddit web video player (at least the embedded player on old.reddit)?
The slider is hidden by default. Hovering the volume icon makes the slider appear. There is margin between the icon and slider, though, so you have to quickly "zip" your mouse across this gap/chasm before the slider disappears. If you make it over to the slider in time, your hover then preserves its visibility.
I know for sure the devs at Condé ain't dogfoodin' on that interface anymore!
Well, sure: a pre-unlocked bootloader and an offline-unlockable one are not fundamentally different in terms of freedom.
When the user decision to unlock (or "side"-load, for that matter) is required to be authorized by the vendor, though, is when I feel like I no longer have control over my own hardware.
Whether it's essential or not is up to the user, who should be able to load whatever operating system they want (enabling them to bypass the restriction) on their bootloader-unlockable device.
Being able to decide yourself the software that is allowed to run on the hardware you own.
I first found this site a few months back when researching the logo for Mitsui O.S.K. Lines (it appears on a shipping container at a construction site in my area):
https://www.modernillustration.org/archive/mol1969ryoheiyana...Semi-relatedly to the OP, I dug deeper and found that M.O.L. continues to regularly update their site in honor of the logo's illustrator (including fresh monthly wallpapers and printable stationery): https://www.mol.co.jp/en/yanagihara/
I was pleasantly surprised by the ongoing reverence they have for their illustrator's legacy.
Love Josh's work and usually always learn something new from his tutorials.
However, this time, I was really hoping the example implementations would use CSS transforms instead of properties that require repaints, especially since the rationale given here for using sprites is performance.
Maybe layer compositing warrants its own article and is beyond the scope here, but you can really tell when whoever built a frontend knows their stuff because all animations are hitting a consistent 60fps.
Your quote caused me to consider vibecoding through the analogy of an LLM-human system as a subtractive synthesizer: the LLM is the oscillator, and the human is the filter.