I keep my Twitter posts minimally political, but you'll have to excuse me for a second while I address something near to my heart: Adoption.
Brandon Jones
@Tojiro
WebGPU/WebXR/WebGL Dev @ Google. He/Him
"The downfall of modern civilization." - Joystiq
Brandon Jones’s Tweets
Replying to
So it's infuriating to see the "Pro-life, pro-family" GOP repeatedly make these kind of blatantly anti-family moves.
Replying to
And for what? So the wealthy can pass on their fortunes to their kids tax free? It's disgusting.
Took my son to the office yesterday for a bit. We walked into the Chrome building, past several big Chrome logos, sat down at the desk where I work on the Chrome browser, and he looks at the computer and says "Ooh! Does this have Firefox?"
Replying to
I can say with absolute confidence that eliminating that credit WILL prevent people from adopting. No question. Because it's EXPENSIVE.
Replying to
So realistically we're just creating more foster kids, which is definitely a bigger drain on govt. resources than the adoption credit.
Replying to
And in the meantime good families go without children and kids go without permanent homes. There's zero up side to this.
Car UX designer: I replaced the gearshift with a volume knob, put it where the volume knob usually goes, and put the volume knob next to it!
Replying to
Most people get funny about giving numbers, but I think it's worth it to drive the point home: Our first son cost us approx. $50,000
I know everyone is excited for Apple's mystery VR/AR hardware, but please consider:
Replying to
And that brings me to the political angle: The GOPs new tax plan eliminates existing adoption assistance programs.
Replying to
They're really giving the finger to an awful lot of them, through this and other cruel cuts. /fin
Replying to
(For the record there's a whole pile of bad in that tax plan. I'm just focusing on this one aspect.)
Replying to
So adoption tax credit goes away and families simply can't adopt any more. Period. Do you think people will stop having babies, though?
Replying to
So for many families that credit is the only hope they have of actually being able to afford having children.
Replying to
If you don't know, I'm the adoptive father of two beautiful boys and I can honestly say they are the best part of my life.
Replying to
Even for me, a Google Engineer, adopting pretty much drained our financial resources at the time. I can't imagine how most families do it.
Replying to
So picture being in the hospital, holding your new baby boy, in a different state, while lawyers are calling saying: "We need $30,000 TODAY"
Replying to
We all have different reasons for adopting, but regardless of why we can all agree on one thing: Going through the adoption process SUCKS.
Replying to
"...Or we can't start the process to let you keep the baby." That sounds malicious, but it's really just legal reality.
Replying to
Nope, it's orders of magnitude difference, depending on the exact route you take to do the adoption.
Replying to
And nobody gives out loans on babies. So tell me: If you needed to how would you come up with $50k in a lump sum?
Replying to
Totally worth it, considering what waits on the other end, but it is a long, invasive, and (crucially) very expensive process.
Replying to
Obviously not, and the tiny child tax credit bump in the plan won't change the reasons most parents place their kids for adoption.
Replying to
That's mostly adoption agency and legal fees, but also travel, hotel, medical, and a bunch of smaller misc. stuff.
Replying to
If you're able to afford a house, maybe you can take out a second mortgage. (This is really common among families that I know.)
Replying to
I should really wrap this up now, but please realize that when these senators talk up how they're trying to help "middle class families"...
Replying to
And for many families the only thing that lets them push through that MASSIVE barrier is the knowledge that they can get that tax credit.
Replying to
And what you have to understand is that almost all of that is paid either at the point you are matched or when the child is placed with you.
Replying to
Now, you might say: "If they can't afford the adoption then wouldn't they struggle to actually pay for the daily needs of child?"
The staff should have made you a copy of the security cam footage as a memorial to your awesomeness.
Replying to
Which may let you pay back a decent chunk of that second mortgage, or repay that friend that fronted you several thousand. It matters.
Replying to
You probably don't just have it in the bank. If you're a Silicon Valley engineer like me maybe you have company stock. (Thank goodness!)
John Oliver has helpfully set up gofccyourself.com as a quick link to the FCC's comment form on Net Neutrality. You know what to do!
Replying to
It's a non-trivial amount that it covers. Depends on situation but it can easily be 10s of thousands that comes back to you.
Replying to
As tends to happen with these things, I've also come to know multiple other adoptive families as well.
Replying to
And yes, that all sucks. It's worth it for the families that adopt, to deal with the financial strain to have a family.
Apple's visionOS significantly limits how applications are allowed to interact with the user, especially re: their new gaze-based input, and I think it's worth talking about.
TL;DR: If you want to do AR apps, you must give Apple full rendering control. 🧵
Replying to
And if not... well you can ask for donations from friends and family, maybe a few personal IOUs? I really honestly don't know.
Replying to
Stop tweeting and use your position of privledge to take action! Given the balance in the Senate right now you could single-handedly tip the scales. History will not look kindly on those in your position who do nothing more than express disappointment.
My son has recently discovered The Lion King, and as a result I've watched it WAY too much in the past few weeks. But that's also caused me to notice something, so let's talk about Scar for a moment.
Ever wonder how much more code it takes to put one triangle on the screen with WebGPU vs. WebGL? Not much!
Replying to
I mean, yeah it does. Gotta test cross browser compatibility some times, right? Also, Firefox is a fine browser and I like the people who make it. But, like... Dang kid. That's cold.
Replying to
Much of the red tape is there for the laudable cause of preventing human trafficking/cold abuse. Streamlining is tricky to do safely.
My oldest son got sent home with a note from his teacher containing the most inscrutable enum I've ever seen. What... what am I supposed to do with this?
Hm. I wonder how big AR stickers can be?
*Walks outside*
...Well okay then!
Every file format: Here's how 99.9% of these files work.
Dev: Yes, good.
Format: But if this bit is flipped, you have to do this entirely different thing.
Me: Will that happen often?
Format: In exactly two files ever, but it will account for half of your github issues.
Replying to
For one, there's no guarantee of adoption via fostering. In fact, the ideal scenario is that their home situation improves and they go back!
Replying to
I know foster parents. They're heroes. I have nothing but respect for their open hearts and homes.
Replying to
Whooo boy. This was a far more popular thread than I ever expected. 😳 Impossible to sort through all my mentions now.
Replying to
Anyway, point being saying "Adopting via foster care is ~free" misses that it's definitely not the right choice for everyone.
This starts out as "They did a photogrammetry of their office. That's nice." And quickly veers into "OMG, how much time did they put into this???" territory.
Apple has joined the WebVR community group! The WebVR spec now has input from every major browser vendor. w3.org/community/webv
Replying to
And while I'm 100% supportive of fostering children, please recognize that it can be a hard road to take. Definitely not for everyone.
Mini thread for the morning: Why is an API like WebGPU more efficient than WebGL (or, more generally, why are modern graphics APIs more efficient than their older counterparts?) Explained using sandwiches. Because why not?
Replying to
And of course as a foster parent your primary goal is to help the kids through what is unquestionably a rough time in their life.
Replying to
It takes a certain kind of person, and I'll freely admit that I didn't feel up to the task when we were discussing how to start a family.
Ooh hey! There's a new Chrome Offline Dino statue in our Office! Woah, hold on. Wait- What...? WHAAAAAAAAAT?!?
Replying to
Aw... and here I was thinking "this is a legit use of AI generated content, largely because it pokes fun at how nonsensical it is." Now it's just sad.
Replying to
I should also point out that I'm posting from the perspective of private adoptions of infants because that's where my experience is.
🎉WebXR is officially released!🎉
Chrome 79, out today, enables the WebXR Device API by default for Windows Mixed Reality and Android devices. Read up on it and the other new features here:
developers.google.com/web/updates/20
I don't think I can express in a single tweet what a huge deal this is for WebGL! Having Basis universally available will make 3D content on the web load faster, look better, and be easier to develop. Everyone wins!
Quote Tweet
Google and Binomial Partner to Open-Source Basis Universal Texture Format bit.ly/2M6dHie
If true, I've never found my job more terrifying. 😳
Quote Tweet
Seems SpaceX Crew Dragon touchscreen UI actually runs on Chromium + JavaScript: old.reddit.com/r/spacex/comme + space.stackexchange.com/a/9446
Replying to
LOTS of people saying ours must have been a private adoption, it can be cheaper, and adopting foster care can be effectively free. All true.
Oh! Why is this trending on the day of an iPhone announcement? Could it be?!?
*10 seconds later*
Replying to
So... yeah. I guess what I'm saying is that if Disney had released The Lion King today it would definitely be seen as a super obvious political commentary.
Game devs: This fire effect is such a hack. It's just a textured quad with some scrolling noise.
Actual physical candle maker: Hold my beer
GIF
Oof. This hurts my heart. I wish Mozilla's leadership took the responsibility of building a useful, trustworthy browser half as seriously as their engineers, past and present, do.
Replying to
So it's totally valid for someone to say "my adoption didn't cost nearly that much!"
Replying to
It's not the only way to go about an adoption. Every family's situation is different. This naturally leads to variations in things like cost
Unfortunately no such effort is being made by the GOP. Just straight up repealing the tax credit.
Replying to
Amusingly some people think I'm only just now picking up on classic literary themes? No, this is an extended sigh in tweet form about how a US political figure so cleanly fits an age-old villian archetype that a 22yo kids film would be seen as a form of protest if released today.
I adore how fast the web community has gone from "Oculus exposes hand data behind a flag" to "Integrated with Three.js, plugged into the physics engine, and pushing things off tables." Fast iteration time has always been one of the very best parts if the web!
Quote Tweet
Testing #physics with hand tracking in #WebXR with @aframevr. Every bone can interact individually with physical objects
Try it: webxr-handtracking.vercel.app
Source code: github.com/marlon360/webx
#vr #xr #hands #handtracking #oculus #browser #quest #web #threejs #aframe
Replying to
There's a few common questions/criticisms I've seen re: the above thread, though, that I wanted to answer real quick.
The next time a company shows off a shiny, lifeless 3D environment populated by same-y humanoid avatars and declares it to be "A Metaverse" I want you to picture their CEO on-stage, pulling up a Zoom call, and declaring they have created "An Internet." React accordingly.
Now that WebGPU is shipping(!), I want to share some thoughts on the API.
(Please note that as an editor of the spec, I'm literally as biased as you can get. So take my words with a massive grain of salt.)
Here's the result of my holiday coding! A simple WebGPU Clustered Shading implementation. Clip shows a scene with 500 lights, using clustered shading initially, then switching to a "naive" method, then back to clustered.
If you're just starting to investigate WebGPU, there's great samples, tutorials, and docs available. But maybe you just want to skim over a well commented, vanilla JS, dependency free "hello triangle"? Here you go: github.com/toji/hello-tri
(Live page: toji.github.io/hello-triangle)
Me: "It takes ~100 lines of code to draw a triangle with WebGPU."
Avg. web devs: "100!?! That's insane! How could it possibly be that complicated?"
WebGL devs: "That's... not bad! Better than I was fearing!"
Vulkan devs: "This is a personal attack."
Mozilla just released "Hello WebXR", which is a fantastic, nicely polished intro to what VR can do on the Web. Definitely take the time to check it out! #HelloWebXR
These days everyone is looking for cost saving measures. For example, shadow buffer budgets in my neighborhood have been slashed.
Chrome is now officially available in VR with the Daydream View and Mirage Solo, no beta or dev releases required!
Jealous of those aliens from Arrival. Having a non-linear written language that transcends the concept of time and can be wholly comprehended simultaneously must be really nice for their tech spec authors.
Today's Android build of Chrome Canary, v111.0.5563.0, is the first public version with WebGPU support! Turn it on in about:flags and give it a try!
The folks from the browser team have added a whole bunch of new WebXR samples to immersive-web.github.io/webxr-samples/ showing how to use the Layers feature for high quality, lower power imagery on supported devices. Check it out if you've got a Quest or Quest 2!
VR/AR people: Let's call the things we are building "XR" and carefully build up immersive computing associations with the term over time.
Apple: Hey! Check out the iPhone XR! It has exactly nothing to do with immersive computing!
These kind of clever graphics hacks are like a pure dopamine injection for me. Love it!
Quote Tweet
One of the most common stumbling blocks I hear from developers trying WebGPU is "I'm loading a glTF file (or any model format), how do I not end up with a million render pipelines?" So I wrote way too many words about exactly that!
toji.github.io/webgpu-gltf-ca
Games in 2000: You know the graphics are real-time because they only use 20 triangles per character.
Games in 2020: You know the graphics are real-time because the frame rate is significantly higher than the pre-rendered scenes and there's no compression artifacts.
I have scientifically determined that the Quest 2 is ~300 Adafish faster than the Quest 1.
This wonderful little demo can show up to ~70 fish on the OG Quest and still keep up with a 72Hz framerate.
On the Quest 2 I can go up to ~370 fish before we start dropping frames!
WebGL2 is now on by default in Safari tech preview!
Wanted to share more fully what I teased a few days ago. I've been working on getting WebGPU running on Android for the past little while and just this week I hit that all-important "triangles on the screen" mark! And, to my surprise, a huge swath of content is already working!
read image description
ALT
read image description
ALT
read image description
ALT
read image description
ALT
Yay! Got skeletal animations working in my WebGPU code. Nothing ground breaking, no compute shader shenanigans here. But it's my first time implementing glTF animations, so I'm happy that it worked.
That moment when you mistake real-world shadows for low-resolution shadow maps
I'm a Google engineer. I've been working with computers since I was 8. I can confidently use any OS you throw at me. I've used every version of Windows since 3.1...
I've spent HOURS trying to figure out how to tell my Win10 PC "Turn off and stay off till I turn you on again." 😭






