Oranges, Open Shader Language, and Tailscale Up: ttftw 2023w15
By Robert Russell
- 5 minutes read - 1020 wordsThree things from this week.
I want to tell you about oranges. And two other things that aren’t related except for the fact that they’re on my mind this week.
Oranges
The little ones that are easy to peel by hand are just addictive. Those little ones might technically be mandarins or maybe a tangerine but they’re all just magical. Something about the moment that first little spritz of juice triggers the notion that you’re about to have a tasty treat. It feels like some deeply embedded physical reaction but I suspect that my most direct ancestors weren’t getting a lot of citrus (they mostly lived too far north to grow citrus afaik).
Hunger, eating, and satiation are complicated processes. Lots of hormones and signals and stuff involved. Something about an orange can give you a little boost of sugar that’s satisfying in a different way than a processed little bit of candy. An orange doesn’t have the concentration of sugar that a candy does but oranges seem to hit just right.
That surface layer that squirts out a little whiff of citrus-y goodness is apparently called flavedo. I said I want to tell you about oranges but I don’t really know a lot about oranges. Flavedo is apparently pretty great stuff. At least according to this patent from 1980 where the author is really hyped up about separating it off of the yucky next layer. Flavedo covers up another more pulpy white-yellow layer called albedo. They built some pretty big machines so that they could get that albedo pulp out to make… filler material for pet food and clouding agents for beverages. Blech. Albedo is boring.
Flavedo though - that’s the stuff that holds the oils you smell when you zest the orange.
And this is when I realize that I was just born at the right time. Let me tell you why. That little jet of juice that squirts out of the orange and sets off the cascade of events through your nose and out your salivary glands - that little jet of juice “has not been documented in literature and it’s purpose is unknown”. But just five years ago, authors from the University of Central Florida made that claim and continued, writing that:
The rupture of oil gland reservoirs housed near the outer surface of the citrus exocarp is a common experience to the discerning citrus consumer and bartenders the world over. These reservoirs often rupture outwardly in response to bending the peel, which compresses the soft material surrounding the reservoirs, the albedo, increasing fluid pressure in the reservoir. Ultimately, fluid pressure exceeds the failure strength of the outermost membrane, the flavedo.
and proceed to compare the jetting of five citrus fruits with high-speed cameras measuring velocities over 10 m/s. The paper on PNAS is High-speed microjets issue from bursting oil gland reservoirs of citrus fruit.
That little jet of juice delivers delicious scents that make us devour oranges and I was born at the right time to watch this 2500 FPS video provided by Andrew Dickerson (one of the authors) of microjets bursting from citrus peels
Open shader language
CGMatter has been doing a series on Open Shading Language for non-programmers. As of Blender 3.5, Open Shading Language is GPU accelerated. It’s been a really long time since I wrote a shader and I don’t know what I’m getting into so I thought I’d take a shot at it.
The tutorials were super easy to watch but I kind of didn’t know where to go next. The OSL standard is kind of dense The Blender OSL documentation is easier to read. I just wanted to make some eye candy though. So I asked ChatGPT how to make an orange peel shader in OSL. In about 20 minutes I had something vaguely bumpy with orange and red hues.
The first time through it used a couple functions, dPdx
and dPdy
, that are in the spec but aren’t available as far as I can tell. I asked the LLM to rewrite without the functions and it came up with the version shown which uses some approximation instead of the partial derivative functions. To be honest I don’t even know that I hooked the nodes up to the right inputs but I feel like I’m getting the idea. Looking forward to following along with the tutorials as they progress. If you’d like a better looking orange you can have this one under a CC-0 license from a generous author on blendswap. And an older, weirder tutorial from CGMatter on how to use that model in a scene.
Tailscale Up conference
Tailscale Up is coming up on May 31 and I’ll be going. There’s still earlybird pricing until Tuesday if you’re thinking about coming too. I like that they have a COVID policy which requires a test on the day of the event. I’d prefer stronger mask policies to further reduce the spread of disease these days but testing is definitely something that can help at big get-togethers. Maybe one day we can do the same for colds and flus too.
Anyhow, the conference seems like a good chance to network about networking. I’ve been a Wireguard user for a while but I’m not a Tailscale user just yet. There’s a lot of value in the service they provide - simple VPN access to your own services spanning disparate networks and reducing DNS headaches. So far I’m solving those problems in my own way but if I were running a business then I’d want to buy this kind of service instead of building it. I like that Tailscale does a lot of development in the open so I’m looking forward to hearing the talks from the day.
This is probably my first conference in a few years and it’s a nice excuse for a day trip up to San Francisco. If you’re going to be there then it’d be great to chat and get a coffee or a beer, preferably out-of-doors :-) . Ping me on mastodon or something if you’re going to be there.
Maybe they’ll have oranges too.