HN user

rezmason

1,332 karma

People read this? That's cool.

I make code things that draw things. I try hard not to build on top of quicksand. Not a big fan of jerks.

https://www.rezmason.net

Posts0
Comments257
View on HN
No posts found.

I don't have an answer, I'm just wondering out loud.

Cone cell activation is complicated. Displays with three well chosen primaries are economical and effective, but they aren't intended to produce every perceivable color. And our chromaticity diagrams, that pointy splotch that's often used to compare display gamuts, is based on a "standard observer" that is a simplified model for human perception.

An ideal pixel would be able to emit any kind of electromagnetic radiation of any intensity, kind of fun to think about but unrealistic and impractical.

What additional primaries mathematically do is expand a gamut from a triangle to a convex polygon. While ten or a hundred primaries would be bonkers, I bet we could fit a quadrilateral or a pentagon to the perceivable gamut in ways that'd see some gains.

If Meta is liable for when someone underage uses their service, then Meta is going to require proof of age—

Let's be clear what this means, "Meta is going to require" something. They'll require it to continue to do something, which is namely to be a bad company, running bad services, without pivoting to something else.

Of course, no one requires Meta to continue to be Meta. We'd protect people by requiring companies like Meta to request PII outright, because then the user is explicitly prompted to decide whether using Meta's services is worth surrendering their privacy. And if consumer sentiment and market forces mean anything anymore, that will incentivize Meta to replace their bad services with better ones, ones that don't cause them tricky liability issues.

In other words, forcing operating systems to demand PII from users from the get-go, regardless of the quality of that signal, and to broadcast that to any website, is not, as you put it, "the way to do it with the least impact on privacy and anonymity possible", etc etc. The "way to do it" is to phase out this rotten era of surveillance apparatus disguised as social media companies.

Sorry for being irate, it just feels like so many people these days arrive too quickly (for my taste) at conclusions without testing certain popular assumptions about the inevitability of tech oligarchy.

Since Apple turns 50 this year, I went looking for a graphic that symbolizes what I always liked about Apple and the Mac, without implying I condone anything I dislike about them.

Here's my vector reproduction of the logo for MacAddict's and Guy Kawasaki's "EvangeList", circa 1997 :

https://rezmason.net/evangelist.svg

We also typically value things that are not tied to productivity/output, like product quality/reliability, security, and our own agency.

I want to be free to read, write, run, and share code, now and in the future. Relying on centralized services to do it for me (by extracting knowledge from countless other people) is certainly not a resilient strategy.

Sorry, I was cracking a joke about the browser in a shader.

The GLSL I originally posted is from the "cursed mode" of my side project, and I use it to produce a data URI of every frame, 15 times per second, as a twisted homage to old hardware. (No, I didn't use AI :P )

https://github.com/Rezmason/excel_97_egg

That said, is `pow(vec4(2),-vec4(2,4,6,0))` really so bad? I figured it'd be replaced with `vec4(0.25, 0.0625, 0.015625, 1.0)`.

base64 is embarrassingly parallel. So just pipe it to the GPU:

  precision highp float;
  uniform vec2 size;
  uniform sampler2D src,tab;
  void main(){
    vec4 a=(gl_FragCoord-.5)*3.,i=vec4(0,1,2,0)+a.y*size.x+a.x,y=floor(i/size.x),x=i-y*size.x;
    #define s(n)texture2D(src,vec2(x[n],y[n])/size)[0]
    #define e(n)texture2D(tab,vec2(a[n],0))[0]
    a=vec4(s(0),s(1),s(2),0)*255.*pow(vec4(2),-vec4(2,4,6,0)),a=fract(a).wxyz+floor(a)/64.,gl_FragColor=vec4(e(0),e(1),e(2),e(3));
  }

Bravo! I love color and color spaces.

I've been researching the way classic Macs quantize colors to limited palettes:

https://rezmason.net/retrospectrum/color-cube

This cube is the "inverse table" used to map colors to a palette. The animated regions are tints and shades of pure red, green, and blue. Ideally, this cube would be a voronoi diagram, but that would be prohibitively expensive for Macs of the late eighties. Instead, they mapped the palette colors to indices into the table, and expanded the regions assigned to those colors via a simultaneous flood fill, like if you clicked the Paint Bucket tool with multiple colors in multiple places at the same time. Except in 3D.

Meta Ray-Ban Display 10 months ago

I think of bone conducting headphones as the most realistic foundation for augmented reality on the market. Hearing things without plugging your ears up, weighing you down or taking you out of your surroundings is underrated and underutilized. To match the weight of an Oculus Quest 3 on my head, I'd have to wear seventeen pairs of Shockz OpenMove. Compare the dread of a video ad over your eyes to the dread of an audio ad in your ears.

We really should have a broader conversation about the practical applications of this stuff.

I'm not especially familiar with this, but I believe making the SVG element larger can increase its filter effects' resolution, and then using CSS transforms to scale the element's parent will return it to its original size, but with a higher resolution result. From there, additional changes to the filter effect (to incorporate a subtle blur for instance) may help it over the finish line.

Regardless, this is a great writeup for changes I wish to never see in ordinary UI.

The other day I realized that holding down the Option key in the System 7 Desktop Patterns control panel changes the button text from "Set Desktop Pattern" to "Set Utilities Pattern". Does anyone here happen to know what that means?

edit: holy crap, I just figured it out: "Set Utilities Pattern" replaces the background pattern of every desk accessory, such as the Calculator and Scrapbook apps, Find File, Key Caps, Puzzle— with the pattern you chose. What a different time that was!

Location: Vallejo, CA, USA

Remote: Preferred but not mandatory

Willing to relocate: No

Technologies: WebGL, WebGPU, TypeScript, vanilla JavaScript, HTML, CSS, Unity, Three.js, Node.js, React, Haxe

Portfolio: https://rezmason.net/projects

Résumé: https://rezmason.net/Jeremy_Sachs_Resume_2025.pdf

LinkedIn: https://www.linkedin.com/in/jeremysachs

GitHub: https://www.github.com/Rezmason

Email: career@rezmason.net

About me:

Senior software engineer specializing in game dev and graphics programming. 7 years of browser game dev, 6 years of mobile game dev, 2 years of professional web dev.

Twenty years of side hustle!

- https://www.vice.com/en/article/coder-makes-matrix-green-rai...

- https://hundredrabbits.itch.io/verreciel

- https://hundredrabbits.itch.io/hiversaires

- https://github.com/Rezmason/drivey

- https://rezmason.net/fluid

- https://rezmason.github.io/wireworld-player

- https://rezmason.github.io/birefringence-lcd

I want to build things that empower people; creative tools, data visualizations, whatever expands people's capacity to succeed. I'm curious about developer advocacy roles, and positions where my enthusiasm and communication skills close gaps. Beyond all that, I still like making games.

Try and 12 months ago

At first glance, I thought this was some new TC39 JavaScript syntax proposal.

This is a cool site. I thought I'd look for a page about my favorite syntactic phenomenon, "what all", and not only did I find it, but also they changed the "Who says this?" section header to "Who all says this?"

https://ygdp.yale.edu/phenomena/what-all